
    bMhB              %       P"   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	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&                  0                    d$           ej%        d$                    d ej.         ej/        d&ej&                  0                    d$           ej%        d$                    f ej.         ej/        d&ej&                  0                    d$           ej%        d$                     ej%        d$           ej.         ej/        d&ej&                  0                    d$           ej%        d$                    fd'd(gd) e
j1        d'd(g          fd'd(g e
j2        dd*+           e
j1        d'd(gd*+          f e
j3        dd           e
j3        d,d-          gd. ej4        d/d0g          fd dgd1 ed dgd          fddgd2 e
j$        ddgd2          f e
j5        ddg          d e ej$        ddgej&                            fd'dgd3 e
j6                    7                                "                    d'dg e
j6                              fd'dgd4 e            rS e
j6        ej8        5          7                                "                    d'dg e
j6        ej8        5                    n e ej$        d'd6g                    fd'dg e
j6                     e
j6                    7                                "                    d'dg e
j6                              fd'dg e
j6        ej8        5           e
j6        ej8        5          7                                "                    d'dg e
j6        ej8        5                    f ej$        d'd(ge9           e
j6                     e
j6                    7                                "                    d'd(g e
j6                              f ej$        d'd(ge9           e
j6        ej8        5           e
j6        ej8        5          7                                "                    d'd(g e
j6        ej8        5                    fd*dgd7 ej"        d*dgd7          fd*dg e
j:                     ej"        d*dgd7          f e
j;        ddg          d e ej$        ddgej&                            f e
j5         e
j1        d'd(gg d89                    d e
j1        d'd(gg d89          f ej<        d            ej<        d          gd: ed dg          f eddgd          d) e
j1         e
j)        dd           e
j)        dd          g          f          d;             Z=d< Z> ej?        d          Z@ej                             d= e
j)        dd           e
j)        dd          g eddgd          f e
j3        d d           e
j3        dd          g ejA        g d>          f e
jB        d           e
jB        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dA           ej.         ej$        ddgdA           ej%        dA                    f e
jB        dd           e
jB        dd          g ej"        ddg e
j,        ddBC                    f e j         d?dde@D           e j         d@dde@D          g ej"        ddg e
j,        e@dBC                    f e
jC        d            e
jC        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dE           ej"         ej$        ddgdE                    fddg ej"        ddgd          fddg ej"        ddgd          fde
jD        g ej"        de
jD        gd          fdej8        g ej"        dej8        gd          fdFdGg ej"        dFdGgd          fdFdg ej"        dFe
jD        gd          fdFej8        g ej"        dFe
jD        gd          fdFe
jD        g ej"        dFe
jD        gd          fddg ej"        ddgd          fddg ej"        de
jD        gd          fdej8        g ej"        de
jD        gd          fde
jD        g ej"        de
jD        gd          fddg ej"        ddgd          fdej8        dg ej"        g dHd          fd'd(g e
j6                    7                                "                    d'd(g e
j6                              fd'dg e
j6                    7                                "                    d'dg e
j6                              f ej$        d'd(ge9           e
j6                    7                                "                    d'd(g e
j6                              fd*dIg ej"        d*dIgd7          fd*dg ej"        d*dgd7          fg          dJ             ZEej                             dK e
j)        dd           e
j)        ddL          g e
j3        d ddMN           e
j3        dddON          g e
jB        dd           e
jB        ddP          g e
jB        dd           e
jB        d          g ej$         e
jB        d           e
jB        dd          g          g          dQ             ZFej                             dK ej$        d           g          dR             ZGdS ZHdT ZIdU ZJe G dV dWe                      ZK G dX dYe          ZLdZ ZMd[ ZNdS )\    N)using_string_dtype)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      ^/var/www/html/test/jupyter/venv/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&   )r:   r;   zSparse[int64]Int16stringstr)na_valueNoneboolean)r6   r7   c)
categoriesdecimalc                 \    t          j        | |          }t          j        ||           d S Nr   r   r   r   assert_equal)datar   expectedresults       r"   
test_arrayrM   0   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)r6   r7   s     r"   test_array_copyrS   &  s    
!QA
!'"""A1%%%%% 	!'---A1%%%%% 	!'...AAq!!!!!!!rN   zdata, expected)r   r%   r&   i  i  zM8[us]ns)r2   unit)tzinfozm8[us]g?g?)r)   Nr*   Fc                 X    t          j        |           }t          j        ||           d S )NrH   )rJ   rK   rL   s      r"   test_array_inferencerX   8  s*    R Xd^^FOFH%%%%%rN   rJ   Yleft)closedrightUTCc                     t          j        |           }t          t          j        | t                              }t          j        ||           d S rG   )r   r   r   r   objectr   assert_extension_array_equal)rJ   rL   rK   s      r"   test_array_inference_failsra     sF     Xd^^F"28D#?#?#?@@H#FH55555rN   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   )rJ   s    r"   test_nd_raisesrg     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%   rc    rN   r"   test_scalar_raisesrj     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&   r:   r;   AB)columnsz'Cannot pass DataFrame to 'pandas.array'r   )r   	DataFramerd   re   	TypeErrorr   )dfr!   s     r"   test_dataframe_raisesrr     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&   r:   UInt16r   )rd   re   rp   r   r   ri   rN   r"   test_bounds_checkrv     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
     rN   N)__name__
__module____qualname__nameclassmethodr}   ri   rN   r"   rx   rx     s2        D  [  rN   rx   c                   6     e Zd Zeddd fd
            Z xZS )r{   NFrP   c                    t          |t          j        t          j        f          rt	          d          t                                          |||          S )N3scalars should not be of type pd.Series or pd.IndexrP   )
isinstancer   SeriesIndexrp   super_from_sequence)r|   scalarsr   rQ   	__class__s       r"   r   zDecimalArray2._from_sequence  sM    g	28455 	SQRRRww%%gU%FFFrN   )r~   r   r   r   r   __classcell__)r   s   @r"   r{   r{     s\        .2 G G G G G G [G G G G GrN   r{   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   ry   )rE   Decimalrx   rd   re   rp   r{   r   r   r   valuesr   rI   )index_or_seriesboxrJ   r   rL   rK   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)r@   r   )r   r   NAto_numpyboolr   r   assert_numpy_array_equal)arrrL   rK   s      r"   test_array_to_numpy_nar     s^    
(BE1:%5
6
6
6C\\4t\44Fxt%%H11111rN   )OdatetimerE   r   numpyr   rd   pytzpandas._configr   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   StringDtyper}   nanr?   BooleanDtyper   r   rM   rS   timezonecetfrom_breaks	Timestamp	Timedeltar   rX   ra   rg   rj   rr   rv   rx   r{   r   r   ri   rN   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 "!##>NBNBF+++!!##^S$K~r~rv/N/N/N^OOO$$XRXsFm%<%<==	
Wmj $KBNBN!!##^S$K~r~/?/?^@@	
imx $KBNBF+++BNBF+++!!##^S$K~r~rv/N/N/N^OO	
wmH BHc3Zs+++BNBN!!##^S#Jnbn.>.>^??	
EmX BHc3Zs+++BNBF+++BNBF+++!!##^S#Jnbnbf.M.M.M^NN	
U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~/?/?^@@		
 BHc3Zs+++BN!!##^S#Jnbn.>.>^??	
 33T5MSSST
2|2D$<yQQQRGdg gP& &Qg gP&
 
 
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 2rN   