o
    _~#gW                     @   s`   d dl Z d dlZd dlZd dlmZmZ d dlmZ dd Z	dd Z
dd Zd	d
 Zdd ZdS )    N)VERSIONSimport_optional_dependencyc                  C   sh   d} t jt| d}td W d    n1 sw   Y  t|jjts&J tddd}|d u s2J d S )Nz3Missing .*notapackage.* pip .* conda .* notapackagematchnotapackageignoreerrors)pytestraisesImportErrorr   
isinstancevalue__context__)r   exc_inforesult r   /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/pandas/tests/test_optional_dependency.pytest_import_optional   s   
r   c                   C   s   t d td d S )Nxlrd)r
   importorskipr   r   r   r   r   test_xlrd_version_fallback   s   
r   c                 C   sv  d}t |}d|_|tj|< | t|d d}tjt	|d t
d W d    n1 s.w   Y  t
ddd}||u s?J tt t
ddd	}W d    n1 sUw   Y  |d u s`J d|_t
d}||u smJ tjt	d
d t
ddd W d    n1 sw   Y  tt t
dddd}W d    n1 sw   Y  |d u sJ t
dddd}|d u sJ d S )N
fakemodule0.9.01.0.01Pandas requires .*1.0.0.* of .fakemodule.*'0.9.0'r   z0.8)min_versionwarnr   zPandas requires version '1.1.0'z1.1.0)r	   r   r   )types
ModuleType__version__sysmodulessetitemr   r
   r   r   r   tmassert_produces_warningUserWarning)monkeypatchnamemoduler   r   r   r   r   test_bad_version   s>   


r*   c                 C   s   d}t |}d|_|tj|< d}t |}t||| |tj| d| < | t|d d}tj	t
|d td W d    n1 sEw   Y  tt tdd	d
}W d    n1 s`w   Y  |d u skJ d|_td}||u sxJ d S )Nr   r   	submodule.r   r   r   zfakemodule.submoduler   r   )r   r   r    r!   r"   setattrr#   r   r
   r   r   r   r$   r%   r&   )r'   r(   r)   sub_namer+   r   r   r   r   r   test_submoduleD   s(   



r/   c                 C   sb   d}t |}|tj|< | t|d tjtdd t	| W d    d S 1 s*w   Y  d S )Nr   r   zCan't determine .* fakemoduler   )
r   r   r!   r"   r#   r   r
   r   r   r   )r'   r(   r)   r   r   r   test_no_version_raises]   s   


"r0   )r!   r   r
   pandas.compat._optionalr   r   pandas._testing_testingr$   r   r   r*   r/   r0   r   r   r   r   <module>   s    &