
    4i!              	          S r SSKrSSKJr  SSKrSSKrSSKrSSKrSSK	r	SSK
Jr  SSKrSSKJrJrJrJr  SSKJr  SSKJr  \	R.                  S 5       rS r\	R4                  R7                  S	S
9S 5       rS rS rS r\	R4                  R@                  S 5       r!\	R4                  R@                  S 5       r"S r#S r$S r%\	R4                  RM                  SS
9S 5       r'\	R4                  RQ                  S5      S 5       r)S r*\	R4                  RW                  SSS/5      S 5       r,S r-S r.\	R4                  RW                  SS S!/5      \	R4                  RW                  S"\/\" \R                  S#5      S$S%/5      S& 5       5       r0S' r1g)(z1
Testing that we work in the downstream packages
    N)partial)IntCastingNaNError)	DataFrameDatetimeIndexSeriesTimedeltaIndex)Versionc                       [        S/ SQ05      $ )NA         )r        ^/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/pandas/tests/test_downstream.pydfr      s    c9%&&r   c                 V   [         R                  " S5      n [        R                  " S5        [        R                  " S5      nUR	                  U SS9nUR
                  c   eUR                  5       c   e [         R                  " SU5        g ! [         R                  " SU5        f = f)Ncompute.use_numexprtoolzdask.dataframer   npartitions)pd
get_optionpytestimportorskipfrom_pandasr   compute
set_option)r   olduseddddfs       r   	test_daskr$       s     ]]01F5G$  !12nnRQn/uu   {{}(((
+V4+V4s   AB B(znot implemented with CoWreasonc                     [         R                  " S5      n  [        R                  " S5      n[        R                  " S5      n[	        / SQ5      nUR                  USS9nUR                  U5      R                  5       n[        R                  " U5      n[        R                  " XV5        [         R                  " SU 5        g ! [         R                  " SU 5        f = f)Nr   
dask.arrayr   )g      ?gffffff@g@g      @r   r   )r   r   r   r   r   r   logr   nptmassert_series_equalr    )r!   dar"   sdsresultexpecteds          r   test_dask_ufuncr2   1   s     ]]01F5  .  !12'(^^A1^-##%66!9
v0
+V4+V4s   BC Cc                  v   [         R                  " S5      n [        R                  " / SQ5      nU R	                  U5      n[        U5      n[        U5      n[        R                  " X45        Sn[         R                  " [        US9   [        USS9  S S S 5        Sn[        R                  US'   [         R                  " [        US9   [        USS9  S S S 5        [         R                  " [        US9   [        USS9  S S S 5        g ! , (       d  f       N|= f! , (       d  f       NL= f! , (       d  f       g = f)	Nr   )r   g      @r   z)Trying to coerce float values to integersmatchi8dtypez9Cannot convert non-finite values \(NA or inf\) to integerr   )r   r   r*   array
from_arrayr   r+   r,   raises
ValueErrornanr   )r"   arrdarrresr1   msgs         r   7test_construct_dask_float_array_int_dtype_match_ndarrayrB   E   s     
		-	.B
((;
C==D
,Cc{H3) 6C	z	-t4  
. GCVVCF	)	5t4  
6 
)	5s$ 
6	5 
.	-
 
6	5 
6	5s$   DD4D*
D
D'*
D8c                 V    [         R                  " S5        U R                  5       c   eg )Nxarray)r   r   	to_xarray)r   s    r   test_xarrayrF   _   s"    
!<<>%%%r   c                      [         R                  " S5      n [         R                  " S5      nUR                  SSSS9nU R                  SSS5      nUR	                  U/S	S
9nSnXE:X  d   eg )NcftimerD   0001r   T)periods
use_cftimei  r   nearest)method)r   r   
date_rangeDatetimeGregorianget_indexer)rH   rD   timeskeyr0   r1   s         r   test_xarray_cftimeindex_nearestrS   e   su      *F  *FfaDAE

"
"4A
.CuY7FHr   c                  T    [         R                  " [        R                  SSS/5        g )N-OO-czimport pandas
subprocess
check_callsys
executabler   r   r   test_oo_optimizabler\   q   s     3>>5$HIr   c                  T    [         R                  " [        R                  SSS/5        g )NrU   rV   z_import pandas as pd, pickle; pickle.loads(pickle.dumps(pd.date_range('2021-01-01', periods=1)))rW   r   r   r   )test_oo_optimized_datetime_index_unpickler^   w   s*     NNU	

r   c                      [         R                  " S5      n [        [        S5      [        S5      [        SS5      S.5      nU R	                  SUS9R                  5         g )Nzstatsmodels.formula.api   d   i   )LotteryLiteracyPop1831z$Lottery ~ Literacy + np.log(Pop1831))data)r   r   r   rangeolsfit)smfr   s     r   test_statsmodelsrk      sQ    


7
8C	!H%(uS#O
B GG2G<@@Br   c                     [         R                  " S5        SSKJn Jn  U R                  5       nUR                  SSS9nUR                  UR                  S S UR                  S S 5        UR                  UR                  SS  5        g )Nsklearnr   )datasetssvmgMbP?g      Y@)gammaC)r   r   rm   rn   ro   load_digitsSVCri   rf   targetpredict)rn   ro   digitsclfs       r   test_scikit_learnry      sr    
	"
 !!#F
'''
'CGGFKKfmmCR01KKBC !r   c                     [         R                  " S5      n[        [        R                  " SSSS9[        S5      S.5      nUR                  SSUS	9  g )
Nseaborn2023Dr`   )freqrJ   )day
total_billr   r   )xyrf   )r   r   r   r   rN   rg   	stripplot)mpl_cleanupr{   tipss      r   test_seabornr      sM    !!),Gf3:%PQ(SD D9r   z5pandas_datareader uses old variant of deprecate_kwargc                  0    [         R                  " S5        g )Npandas_datareader)r   r   r   r   r   test_pandas_datareaderr      s     +,r   z0ignore:Passing a BlockManager:DeprecationWarningc                     [         R                  " S5      nUR                  R                  U 5      nUR	                  5       n[
        R                  " X05        g )Npyarrow)r   r   Tabler   	to_pandasr+   assert_frame_equal)r   r   tabler0   s       r   test_pyarrowr      s@    !!),GMM%%b)E__F&%r   c                    [         R                  " S5      nUR                  U 5      nUR                  X!R                  S9n[
        R                  " X5        UR                  X!R                  S9n[
        R                  " X5        g )Nyaml)Loader)r   r   dumploadr   r+   r   UnsafeLoader)r   r   dumpedloadedloaded2s        r   test_yaml_dumpr      se    v&DYYr]FYYvkkY2F"%ii'8'8i9G"&r   
dependencynumpydateutilc                    ^^^ [         m[        ST 35      mUUU4S jnU R                  SU5        [        R                  " [        TS9   [
        R                  " [
        R                  " S5      5        S S S 5        g ! , (       d  f       g = f)NzMock error for c                 ,   > U T:X  a  TeT" U /UQ70 UD6$ Nr   )nameargskwargsr   
mock_errororiginal_imports      r   mock_import5test_missing_required_dependency.<locals>.mock_import   s&    :t5d5f55r   zbuiltins.__import__r4   pandas)
__import__ImportErrorsetattrr   r;   	importlibreloadimport_module)monkeypatchr   r   r   r   s    ` @@r    test_missing_required_dependencyr      sf     !Ozl;<J6
 -{;	{*	500:; 
6	5	5s   +A??
Bc                    [         R                  " S5      n [        R                  " S5      n[        R                  " S5      n[	        UR
                  5      [	        S5      ::  aR  [	        [        R
                  5      [	        S5      :  a,  U R                  [        R                  R                  SS95        UR                  SS	/5      n[        S
S
S/05      nXES'   XES'   SUR                  SS/S4'   UR                  S/S S 24   n[        S/S/S	/S.S/S9n[        R                  " Xg5        [         R                  " SU5        g ! [         R                  " SU5        f = f)Nr   daskr(   z2025.1.0z2.1z,loc.__setitem__ incorrectly mutated column cr%   r   r   abcra   FT)r   r   r   )index)r   r   r   r   r	   __version__r*   applymarkermarkxfailr9   r   locr+   r   r    )requestr!   r   r-   ddar   r0   r1   s           r   *test_frame_setitem_dask_array_into_new_colr      s9   
 ]]01F5""6*  .4##$
(;;NNA
U^A !!)W!X hh1vc3Z()33%(t}c!"QC5uA3?sK
f/
+V4+V4s   DE	 	E"c                       " S S5      n U " 5       n[        [        S5      5      nUR                  U5      [        L d   eX!-   UL d   eg )Nc                       \ rS rSrSrS rSrg)%test_pandas_priority.<locals>.MyClass   i  c                     U $ r   r   )selfothers     r   __radd__.test_pandas_priority.<locals>.MyClass.__radd__   s    Kr   r   N)__name__
__module____qualname____firstlineno____pandas_priority__r   __static_attributes__r   r   r   MyClassr      s    "	r   r   r   )r   rg   __add__NotImplemented)r   leftrights      r   test_pandas_priorityr      sJ      9D58E==.000<4r   r8   M8[ns]m8[ns]boxir   rD   c                 >   [         R                  " / SQ[         R                  S9nUS:X  a(  [        R                  " S5      nUR                  U5      nO6US:X  a(  [        R                  " S5      nUR                  U5      nOU" U5      n[        R                  [        R                  S.U    nU" U5      R                  nU" U5      R                  n[        R                  " Xx5        [        [        S.U    n	U	" U5      nU	" U5      n[        R                  " Xx5        g )Nr   r7   r   r(   rD   )r   r   )r*   r9   int64r   r   	DataArrayr   to_datetimeto_timedeltar+   assert_equalr   r   assert_index_equal)
r8   r   r>   r-   rf   xrfuncr0   r1   idx_clss
             r   test_from_obscure_arrayr      s     ((9BHH
-C
f}  .xx}	  *||C 3xnn@GD#Y__FDzHOOF% '.A%HGS\Ft}H&+r   c                      [         R                  " S5      n U R                  / SQ5      n[        R                  " USS9n[        / SQSS S9n[        R                  " X#5        g )NrD   r   ns)unit)z1970-01-01 00:00:00.000000001z1970-01-01 00:00:00.000000002z1970-01-01 00:00:00.000000003zdatetime64[ns])r8   r~   )r   r   r   r   r   r   r+   r   )r   r>   r0   r1   s       r   test_xarray_coerce_unitr     sW    			X	&B
,,y
!C^^Cd+F	

 H &+r   )2__doc__r9   	functoolsr   r   rX   rZ   r   r*   r   pandas.errorsr   r   r   r   r   r   r   pandas._testing_testingr+   pandas.util.versionr	   fixturer   r$   r   skipr2   rB   rF   rS   
single_cpur\   r^   rk   ry   r   r   r   filterwarningsr   r   parametrizer   r   r   
memoryviewr   r   r   r   r   <module>r      s       
   ,    ' ' '5" 345 55& 4&	 J J
  C
": QR- S- NO& P&
' '<=< >< 5:   8X"67	JS168D, 8,8,r   