U
    ÎZj|
  ã                   @   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   sT   d} t jt| d��}tdƒ W 5 Q R X t|jjtƒs8t‚tddd�}|d ksPt‚d S )Nz3Missing .*notapackage.* pip .* conda .* notapackage©ÚmatchZnotapackageÚignore©Úerrors)ÚpytestÚraisesÚImportErrorr   Ú
isinstanceÚvalueÚ__context__ÚAssertionError)r   Úexc_infoÚresult© r   úh/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/pandas/tests/test_optional_dependency.pyÚtest_import_optional   s    r   c                   C   s   t  d¡ tdƒ d S )NZxlrd)r	   Zimportorskipr   r   r   r   r   Útest_xlrd_version_fallback   s    
r   c              	   C   s¶   d}t  |¡}d|_|tj|< |  t|d¡ d}tjt	|d�� t
dƒ W 5 Q R X t
ddd�}||ksjt‚t t¡� t
ddd	�}W 5 Q R X |d ks˜t‚d|_t
dƒ}||ks²t‚d S )
NÚ
fakemoduleú0.9.0ú1.0.0ú1Pandas requires .*1.0.0.* of .fakemodule.*'0.9.0'r   z0.8)Úmin_versionÚwarnr   )ÚtypesÚ
ModuleTypeÚ__version__ÚsysÚmodulesÚsetitemr   r	   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 5 Q R X t t¡� tdd	d
�}W 5 Q R X |d ks®t‚d|_tdƒ}||ksÈt‚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&   r'   Zsub_namer)   r   r   r   r   r   Útest_submodule6   s$    


r,   c              	   C   sL   d}t  |¡}|tj|< |  t|d¡ tjtdd�� t	|ƒ W 5 Q R X 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_raisesO   s    

r-   )r   r   r	   Zpandas.compat._optionalr   r   Zpandas._testingZ_testingr"   r   r   r(   r,   r-   r   r   r   r   Ú<module>   s   