
    g/=              $          d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dl	m
Z d dlmZ d dlmZmZmZmZmZmZmZ d dlmZmZ d dlmZmZmZ ej                            dg d          d             Zej                            d	g g d ej         g d
          fddgd ej         ddgd          fddge! e ej"        ddge!                    fddg ej#        d           e ej"        ddg ej#        d                              f ej"        g e!          d e ej"        g e!                    f ej"        ddgd          d ej         ddgd          f ej"        ddgd          d ej         ddgd
          fddgd e ej"        ddgd                    fddgd e ej"        ddgej$                            f ej"        ddgej%                  d e ej"        ddgej%                            f e ej"        ddgej&                            d e ej"        ddgej&                            f ej'        dd           ej'        dd          gd eddgd          f ej'        dd          g ej(        d           edgd          fddg ej#        d           ej          ej"        ddgd          d          fddg ej#        d           ej          ej"        ddgd          d          f ej"        ddgd          d ej          ej"        ddgd          d          f ej)        ddg           ej#        d           ej         ddgd          f ej)        ddg          d ej         ddgd          fddg ej#        d           ej         ddgd          fddg ej*        d           ej         ddg ej*        d                    fdd g ej#        d!           ej         dd gd"          f ej+        dd g           ej#        d!           ej         dd gd"          f ej"        ddgd#           ej#        d$           ej          ej"        ddgd#          d#          f ej+        dd g          d ej         dd gd"          f ej,         ej-        d%ej$                  .                    d#           ej#        d#                    d ej,         ej-        d%ej$                  .                    d#           ej#        d#                    f ej,         ej-        d%ej$                  .                    d#           ej#        d#                     ej#        d#           ej,         ej-        d%ej$                  .                    d#           ej#        d#                    fd&d'gd( ej/        d&d'g          fd&d'g ej0        dd)*           ej/        d&d'gd)*          f ej1        dd           ej1        d+d,          gd- ej2        d.d/g          fd dgd0 ed dgd          fddgd1 ej"        ddgd1          f ej3        ddg          d e ej"        ddgej$                            fd&dgd2 ej4                    5                                                     d&dg ej4                              fd&dg ej4                     ej4                    5                                                     d&dg ej4                              fd)dgd3 ej         d)dgd3          fd)dg ej6                     ej         d)dgd3          f ej7        ddg          d e ej"        ddgej$                            f ej3         ej/        d&d'gg d45                    d ej/        d&d'gg d45          f ej8        d            ej8        d          gd6 ed dg          f eddgd          d( ej/         ej'        dd           ej'        dd          g          f          d7             Z9d8 Z: ej;        d          Z<ej                            d9 ej'        dd           ej'        dd          g eddgd          f ej1        d d           ej1        dd          g ej=        g d:          f ej>        d           ej>        d          g ej         ddgd          f e j         d;dd           e j         d<dd          g ej         ddgd          f ej"        ddgd           ej          ej"        ddgd                    f ej"        ddgd=           ej,         ej"        ddgd=           ej#        d=                    f ej>        dd           ej>        dd          g ej         ddg ej*        dd>?                    f e j         d;dde<@           e j         d<dde<@          g ej         ddg ej*        e<d>?                    f ej?        d           ej?        d           g ej         dd gd"          f ej"        ddgd"           ej          ej"        ddgd"                    f ej"        ddgdA           ej          ej"        ddgdA                    fddg ej         ddgd          fddg ej         ddgd          fdej@        g ej         dej@        gd          fdejA        g ej         dejA        gd          fdBdCg ej         dBdCgd
          fdBdg ej         dBej@        gd
          fdBejA        g ej         dBej@        gd
          fdBej@        g ej         dBej@        gd
          fddg ej         ddgd
          fddg ej         dej@        gd
          fdejA        g ej         dej@        gd
          fdej@        g ej         dej@        gd
          fddg ej         ddgd
          fdejA        dg ej         g dDd
          fd&d'g ej4                    5                                                     d&d'g ej4                              fd&dg ej4                    5                                                     d&dg ej4                              fd)dEg ej         d)dEgd3          fd)dg ej         d)dgd3          fg          dF             ZBej                            dG ej'        dd           ej'        ddH          g ej1        d ddIJ           ej1        dddKJ          g ej>        dd           ej>        ddL          g ej>        dd           ej>        d          g ej"         ej>        d           ej>        dd          g          g          dM             ZCej                            dG ej"        d           g          dN             ZDdO ZEdP ZFdQ ZGe G dR dSe                      ZH G dT dUe          ZIdV ZJdW ZKdS )X    N)register_extension_dtype)BooleanArrayDatetimeArrayFloatingArrayIntegerArrayIntervalArraySparseArrayTimedeltaArray)NumpyExtensionArrayperiod_array)DecimalArrayDecimalDtype
to_decimal
dtype_unit)zM8[h]M8[m]zm8[h]r   c                     t          j        |           }d}t          j        t          t          j        |                    5  t          j        g |           d d d            d S # 1 swxY w Y   d S )Nzdatetime64 and timedelta64 dtype resolutions other than 's', 'ms', 'us', and 'ns' are deprecated. In future releases passing unsupported resolutions will raise an exception.matchdtype)	npr   tmassert_produces_warningFutureWarningreescapepdarray)r   	dtype_varmsgs      j/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/pandas/tests/arrays/test_array.pytest_dt64_arrayr"       s     $$I	  
	#M3	H	H	H & &
9%%%%& & & & & & & & & & & & & & & & & &s   A((A,/A,zdata, dtype, expectedFloat64r         Int64float32      ?       @int64float642000D2001z	Period[D])freqzdatetime64[ns]zM8[ns]zdatetime64[s]zM8[s]CET)tz1h2hztimedelta64[ns]zm8[ns]zm8[s]ztimedelta64[s]   abcategoryT)ordered      interval)r$   r%   )r9   r:   zSparse[int64]Int16stringboolean)r5   r6   c)
categoriesdecimalc                 \    t          j        | |          }t          j        ||           d S Nr   r   r   r   assert_equal)datar   expectedresults       r!   
test_arrayrI   .   s1    d Xd%(((FOFH%%%%%    c                  b   t          j        ddg          } t          j        | | j                  }t	          j        | |          rJ t          j        | | j        d          }t	          j        | |          rJ t          j        | | j        d          }t	          j        | |          sJ d S )Nr$   r%   r   Tr   copyF)r   r   r   r   r   shares_memory)r5   r6   s     r!   test_array_copyrO     s    
!QA
!'"""A1%%%%% 	!'---A1%%%%% 	!'...AAq!!!!!!!rJ   zdata, expected)r   r$   r%   i  i  zM8[us]ns)r1   unit)tzinfozm8[us]g?g?)r(   Nr)   Fc                 X    t          j        |           }t          j        ||           d S )NrD   )rF   rG   rH   s      r!   test_array_inferencerT     s*    D Xd^^FOFH%%%%%rJ   rF   Yleft)closedrightUTCc                     t          j        |           }t          t          j        | t                              }t          j        ||           d S rC   )r   r   r   r   objectr   assert_extension_array_equal)rF   rH   rG   s      r!   test_array_inference_failsr]   |  sF     Xd^^F"28D#?#?#?@@H#FH55555rJ   c                     t          j        t          d          5  t          j        | d           d d d            d S # 1 swxY w Y   d S )Nz)NumpyExtensionArray must be 1-dimensionalr   r*   r   pytestraises
ValueErrorr   r   )rF   s    r!   test_nd_raisesrc     s    	z)T	U	U	U & &
W%%%%& & & & & & & & & & & & & & & & & &s   A  AAc                      t          j        t          d          5  t          j        d           d d d            d S # 1 swxY w Y   d S )NzCannot pass scalar '1'r   r$   r_    rJ   r!   test_scalar_raisesrf     s    	z)A	B	B	B  
                 s   >AAc                      t          j        ddgddggddg          } d}t          j        t          |	          5  t          j        |            d d d            d S # 1 swxY w Y   d S )
Nr$   r%   r9   r:   AB)columnsz'Cannot pass DataFrame to 'pandas.array'r   )r   	DataFramer`   ra   	TypeErrorr   )dfr    s     r!   test_dataframe_raisesrn     s    	1v1v&c
	;	;	;B
3C	y	,	,	,  
                 s   AA"%A"c                      t          j        t          d          5  t          j        g dd           d d d            d S # 1 swxY w Y   d S )Nz6cannot safely cast non-equivalent int(32|64) to uint16r   )r%   r9   UInt16r   )r`   ra   rl   r   r   re   rJ   r!   test_bounds_checkrr     s    	R
 
 
 - - 	8,,,,- - - - - - - - - - - - - - - - - -s   AA	Ac                   (    e Zd ZdZed             ZdS )DecimalDtype2decimal2c                     t           S )zq
        Return the array type associated with this dtype.

        Returns
        -------
        type
        )DecimalArray2)clss    r!   construct_array_typez"DecimalDtype2.construct_array_type  s
     rJ   N)__name__
__module____qualname__nameclassmethodry   re   rJ   r!   rt   rt     s2        D  [  rJ   rt   c                   6     e Zd Zeddd fd
            Z xZS )rw   NFrL   c                    t          |t          j        t          j        f          rt	          d          t                                          |||          S )N3scalars should not be of type pd.Series or pd.IndexrL   )
isinstancer   SeriesIndexrl   super_from_sequence)rx   scalarsr   rM   	__class__s       r!   r   zDecimalArray2._from_sequence  sM    g	28455 	SQRRRww%%gU%FFFrJ   )rz   r{   r|   r~   r   __classcell__)r   s   @r!   rw   rw     s\        .2 G G G G G G [G G G G GrJ   rw   c                    | } |t          j        d          t          j        d          g          }t                      }t          j        t
          d          5  t                              ||           d d d            n# 1 swxY w Y   t          j	        |d          }t                              |j
        |          }t          j        ||           d S )N12r   r   r   ru   )rA   Decimalrt   r`   ra   rl   rw   r   r   r   valuesr   rE   )index_or_seriesboxrF   r   rH   rG   s         r!   test_array_unboxesr     s   
C3$$goc&:&:;<<DOOE	N
 
 
 8 8 	$$T$7778 8 8 8 8 8 8 8 8 8 8 8 8 8 8
 Xd*---F++DKu+EEHOFH%%%%%s   BB
B
c                      t          j        t           j        dgd          } |                     dt                    }t          j        ddg          }t          j        ||           d S )Nr$   zstring[python]r   T)na_valuer   )r   r   NAto_numpyboolr   r   assert_numpy_array_equal)arrrH   rG   s      r!   test_array_to_numpy_nar     s^    
(BE1:%5
6
6
6C\\4t\44Fxt%%H11111rJ   )LdatetimerA   r   numpyr   r`   pytzpandasr   pandas._testing_testingr   pandas.api.extensionsr   pandas.arraysr   r   r   r   r   r	   r
   pandas.core.arraysr   r   pandas.tests.extension.decimalr   r   r   markparametrizer"   r   r[   r   r   r*   float16int32PeriodPeriodDtypeDatetimeIndexDatetimeTZDtypeTimedeltaIndex_simple_newarangeviewCategoricalCategoricalDtypeIntervalfrom_tuplesr   StringDtypery   BooleanDtyper   r   rI   rO   timezonecetfrom_breaks	Timestamp	Timedeltar   nanrT   r]   rc   rf   rn   rr   rt   rw   r   r   re   rJ   r!   <module>r      s     				                 : : : : : :                                  'K'K'KLL
& 
& ML
& M	T/=/)DDDEM Q2|2Aq6IIIJM Q,,XRXq!fF-K-K-KLLM	M FBHY#s828I;N;N O O OPP	
M BHRv&&&6 : : :;;	
M  BHaV7+++'L'Ag>>>	
M* BHc3Zy111(M(#s9EEE	
)M4 Q//!Qy0Q0Q0QRRS5M6 Q--hbh1vRX.N.N.NOOP7M> BHaV2:...!Qrz B B BCC	
=MJ  !Qrx @ @ @AA!Qrx @ @ @AA	
IMV RYvs##YRYvs%;%;<L&&)444	
UMb RYvs##$BN3L&,,,	
aMn FBH%&&(M(!Qx000  	
mM| FBH_%%(M(!Qw///w  	
{MJ BHaV#3444(M(!Qx000  	
IMX Bff-..BH%&&(M(&&)9JJJ	
WMb Bff-..(M(&&)9JJJ	
aMl VBH%&&(M(&&)9JJJ	
kMx VB%((((M( (:(:e(D(D(D  	
wMH 4LBH&'')N)4,hGGG	
GMR BtTl++BH&'')N)4,hGGG	
QM\ BHaV7+++BH%&&)N)!Qw///w  	
[Mj BtTl++)N)4,hGGG	
iMv 'N&	!28,,,11'::("(7BSBS   &N&	!28,,,11'::("(7BSBS  		
sMJ 'N&	!28,,,11'::("(7BSBS   BHW&N&	!28,,,11'::("(7BSBS  		
GM\ sZc
!;!;<]M` #JBd333BNC:t444	
_Ml R[AAq 1 12%M%vv&677	
kMv Q++q!fG"D"D"DEwMz TGXRXq$iw???@{M~ BIq!f!Qrx @ @ @AA	
}MJ $KBN!!##^S$K~r~/?/?^@@	
IMX $KBNBN!!##^S$K~r~/?/?^@@	
WMh 4L'L'tIFFF	
gMr 4LBO'L'tIFFF	
qM| 
1a&		4!4!4XRXq!fBH5U5U5U!V!VW}MB BInbnc3ZOOOLLLMMBNC:///BBB	
AML '/!

ogoa00	19jj!Q>P>PQMMR L&&)444BNIBIfc22IBIfc4J4JKLL	
QMP Pb& &cP Pb&
" " " dmE  RYvs##YRYvs%;%;<L&&)444	

 "+a

[R[A..	/1J1J9991U1UV R\&!!<2<#7#78(M(&&)9JJJ	

 XtQ**,=H,=dAq,I,IJ(M(&&)9JJJ	

 BHaV8,,,(M(1a&)I)I)IJJ	

 BHaV8,,,%M%!Qx0008J8J  	
 R\&U+++\R\&U-K-K-KL(M( (:(:e$(O(O(O  	
 "!$1S999!!$1S999 )M( (:(:c(M(M(M  	
 R\$d!3!34)N)4,hGGG	

 BHaV8,,,)N)("(Aq6*J*J*JKK	

 BHaV8,,,)N)("(Aq6*J*J*JKK	

 Q,,aV7CCCD
T/L/D	IIIJ
RU0\0!RU7KKKL
RV1l11bf+WMMMN
s1]13*INNNO
t2m2C<yQQQR
rv44c25\SSST
ru3}3S"%L	RRRS
s1]13*INNNO
t2m2C<yQQQR
rv44c25\SSST
ru3}3S"%L	RRRS
S/=/c
)LLLM(M()9)9)9KKK	
 #JBN!!##^S#Jnbn.>.>^??		
 $KBN!!##^S$K~r~/?/?^@@		
 33T5MSSST
2|2D$<yQQQRy]` `B& &C` `B&
 
 
63		63!7!78	Q&	)	)	);2;q!G+L+L+LM	f	'	'	'f)G)G)GH	f	'	'	'f)=)=>,",v&&V(F(F(FGHH
 6 6 6 ("(1++//& & 0/&
  
  - - -     L   G G G G GL G G G& & & 2 2 2 2 2rJ   