a
    nÝEb|
  ã                   @   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 s00    Y  t|jjtƒsLJ ‚tddd�}|d u sdJ ‚d S )Nz3Missing .*notapackage.* pip .* conda .* notapackage©ÚmatchZnotapackageÚignore©Úerrors)ÚpytestÚraisesÚImportErrorr   Ú
isinstanceÚvalueÚ__context__)r   Úexc_infoÚresult© r   úe/home/ja/django-apps/lartica_env/lib/python3.9/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 d   ƒ n1 s\0    Y  t
ddd�}||u s~J ‚t t¡� t
ddd	�}W d   ƒ n1 sª0    Y  |d u sÀJ ‚d|_t
dƒ}||u sÚJ ‚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   Ú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 sŠ0    Y  t t¡� tdd	d
�}W d   ƒ n1 sÀ0    Y  |d u sÖJ ‚d|_tdƒ}||u sðJ ‚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&   Zsub_namer(   r   r   r   r   r   Útest_submodule6   s$    


&*r+   c                 C   s`   d}t  |¡}|tj|< |  t|d¡ tjtdd�� t	|ƒ W d   ƒ n1 sR0    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_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   