
    MhW                     V    S SK r S SKrS SKrS SKJrJr  S SKJr  S r	S r
S rS rS rg)    N)VERSIONSimport_optional_dependencyc                      Sn [         R                  " [        U S9 n[        S5        S S S 5        [	        WR
                  R                  [        5      (       d   e[        SSS9nUb   eg ! , (       d  f       NI= f)Nz3Missing .*notapackage.* pip .* conda .* notapackagematchnotapackageignoreerrors)pytestraisesImportErrorr   
isinstancevalue__context__)r   exc_inforesults      W/var/www/html/env/lib/python3.13/site-packages/pandas/tests/test_optional_dependency.pytest_import_optionalr      sb    AE	{%	0H"=1 
1 hnn00+>>>>'hGF>> 
1	0s   A++
A9c                  F    [         R                  " S5        [        S5        g )Nxlrd)r   importorskipr        r   test_xlrd_version_fallbackr      s    
v&r   c                    Sn[         R                  " U5      nSUl        U[        R                  U'   U R                  [        US5        Sn[        R                  " [        US9   [        S5        S S S 5        [        SSS9nXBL d   e[        R                  " [        5         [        SSS	9nS S S 5        Ub   eSUl        [        S5      nXBL d   e[        R                  " [        S
S9   [        SSS9  S S S 5        [        R                  " [        5         [        SSSS9nS S S 5        Ub   e[        SSSS9nUb   eg ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nt= f! , (       d  f       NW= f)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   s        r   test_bad_versionr/      sS   Dd#F FCKK$0?E	{%	0"<0 
1 (%HF		#	#K	0+LH 
1>> F'5F	{*K	L"<WE 
M 
	#	#K	0+W
 
1 >>'X7F >>7 
1	0 
1	0 
M	L 
1	0s0   %E#E,E%E6
E
E"%
E36
Fc                 D   Sn[         R                  " U5      nSUl        U[        R                  U'   Sn[         R                  " U5      n[        X#U5        U[        R                  U SU 3'   U R                  [        US5        Sn[        R                  " [        US9   [        S5        S S S 5        [        R                  " [        5         [        SS	S
9nS S S 5        Wb   eSUl        [        S5      nXdL d   eg ! , (       d  f       NY= f! , (       d  f       N== f)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_namer1   r   r   s          r   test_submoduler5   D   s    Dd#F FCKKH  *IFi((1CKK4&($%$0?E	{%	0"#9: 
1 
	#	#K	0+,B6R 
1>> F'(>?F 
1	0 
1	0s   !D D 
D
Dc                    Sn[         R                  " U5      nU[        R                  U'   U R	                  [
        US5        [        R                  " [        SS9   [        U5        S S S 5        g ! , (       d  f       g = f)Nr   r   zCan't determine .* fakemoduler   )
r#   r$   r&   r'   r(   r   r   r   r   r   )r,   r-   r.   s      r   test_no_version_raisesr7   ]   s[    Dd#FCKK$0	{*I	J"4( 
K	J	Js   A11
A?)r&   r#   r   pandas.compat._optionalr   r   pandas._testing_testingr)   r   r   r/   r5   r7   r   r   r   <module>r;      s2    
  
 '
#L2)r   