o
    Û­jW  ã                   @   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   úb/var/www/html/CropPilot/venv/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 s…w   Y  t t¡� t
dddd�}W d   ƒ n1 s¡w   Y  |d u s¬J ‚t
dddd�}|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   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    &