
    I j,                     f   S r SSKrSSKrSSKJr  SSKJr  SSKr	SSK
Jr  SSKJr  \R                  " \R                   " SS/\S9\R                   " SS	/\S9\R                   " SS	/\S9\R                   " SS
/\S9\R                   " SS/\S9\R                   " SS	/SS9\R                   " SS	/SS9/S9S 5       r\R.                  R1                  S/ SQ5      S 5       r\R.                  R1                  S/ SQ5      S 5       rS rS rS rS rS rS r S r!S r"S r#S r$S  r%\R.                  RM                  \(       + S!S"9\R.                  R1                  S#SS$/5      S% 5       5       r'S& r(S' r)S( r*S) r+S* r,\R.                  R1                  S+\RZ                  \R\                  \R^                  /5      S, 5       r0S- r1S. r2\R.                  R1                  S#S\/5      S/ 5       r3S0 r4S1 r5\R.                  R1                  S#\Rl                  \Rn                  /5      S2 5       r8S3 r9\R.                  R1                  S#\Rt                  \Rv                  \Rx                  \Rz                  \Rn                  \R|                  \R~                  \R                  \Rl                  /	5      S4 5       rAS5 rBS6 rCg)7zV
Additional tests for NumpyExtensionArray that aren't covered by
the interface tests.
    N)np_version_gt2NumpyEADtype)NumpyExtensionArrayabdtype   y      ?       @TFdatetime64[ns]timedelta64[ns])paramsc                 6    U R                   R                  5       $ )z_
Parametrized fixture for NumPy arrays with different dtypes.

This excludes string and bytes.
)paramcopy)requests    v/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/pandas/tests/arrays/numpy_/test_numpy.pyany_numpy_arrayr      s    " ==    zdtype, expected)
boolT)intT)uintT)floatT)complexTstrFbytesFr   FobjectFvoidFc                 <    [        U 5      n U R                  UL d   eg N)r   _is_numericr
   expecteds     r   test_is_numericr*   *   "      E(((r   )
r   )r   F)r   F)r   F)r   Fr   r   r    r!   r#   c                 <    [        U 5      n U R                  UL d   eg r&   )r   _is_booleanr(   s     r   test_is_booleanr.   >   r+   r   c                  d    [        [        R                  " S5      5      n [        U 5      S:X  d   eg )Nint64zNumpyEADtype('int64'))r   npr
   reprr	   s    r   	test_reprr3   R   s(    '*+E;1111r   c                  |    [         R                  " S5      n [        [        R                  " S5      5      nX:X  d   eg )Nr0   )r   construct_from_stringr1   r
   )resultr)   s     r   test_constructor_from_stringr7   W   s1    //8FBHHW-.Hr   c                 >    [        U 5      n[        U5      nX!:X  d   eg r&   r   )any_numpy_dtyper
   r6   s      r   test_dtype_idempotentr:   ]   s     )E% F??r   c                      [         R                  " [        SS9   [        / SQ5        S S S 5        g ! , (       d  f       g = f)NzNumPy arraymatchr         )pytestraises
ValueErrorr    r   r   test_constructor_no_coercionrE   h   s$    	z	7I& 
8	7	7s   1
?c                      [         R                  " / SQ5      n [        R                  " [	        U 5      SS9nUR
                  U Ld   eg )Nr>   Tr   )r1   arraypdSeriesr   values)ndarraysers     r   !test_series_constructor_with_copyrN   m   s8    hhy!G
))'0t
<C::W$$$r   c                      [         R                  " / SQ5      n [        R                  " [	        U 5      SS9n[        R                  " / SQSS9n[
        R                  " X5        g )Nr>   float64r	   )      ?g       @g      @)r1   rH   rI   rJ   r   tmassert_series_equal)rL   r6   r)   s      r   #test_series_constructor_with_astyperT   t   sD    hhy!GYY*739EFyy	:H6,r   c                      [         R                  " / SQSS9n [        R                  " U SS9n[        [         R                  " / SQSS95      n[        R
                  " X5        g )Nr>   r0   r	   uint64)r1   rH   r   _from_sequencerR   assert_extension_array_equalarrr6   r)   s      r   test_from_sequence_dtyper[   {   sG    
((9G
,C //8DF"288IX#FGH##F5r   c                      [         R                  " SS/5      n [        U SS9n[        R                  " X5      (       a   eg )Nr   r   TrG   )r1   rH   r   rR   shares_memoryrZ   r6   s     r   test_constructor_copyr_      s:    
((Aq6
C 40F,,,,,r   c                 j    U n[        U5      nUR                  R                  UR                  :X  d   eg r&   )r   r
   numpy_dtyper   nparrrZ   s      r   test_constructor_with_datard      s-    E
e
$C99  EKK///r   c                  <   [        [        R                  " / SQ5      5      n U R                  5       nXR                  L d   eU R                  SS9nXR                  Ld   eU R                  SS9n[        R                  " / SQSS9n[
        R                  " X5        g Nr>   TrG   f8r	   )r   r1   rH   to_numpy_ndarrayrR   assert_numpy_array_equalrY   s      r   test_to_numpyrk      s~    
bhhy1
2C\\^F\\!!!\\t\$F%%%\\\%Fxx	.H1r   c                  ^   [        [        R                  " / SQ5      5      n SU l        U R	                  5       nUR
                  R                  (       a   eU R	                  SS9nUR
                  R                  (       d   eU R	                  SS9nUR
                  R                  (       d   eg rf   )r   r1   rH   	_readonlyrh   flags	writeabler^   s     r   test_to_numpy_readonlyrp      s    
bhhy1
2CCM\\^F||%%%%\\t\$F<<!!!!\\\%F<<!!!!r   z!copy keyword introduced in np 2.0)reasonr
   r0   c                 |   [        [        R                  " / SQSS95      nSUl        [        R                  " XS9nUR
                  R                  (       a   e[        R                  " XSS9nUR
                  R                  (       d   e[        R                  " XSS9nUR
                  R                  (       a   eg )Nr>   r0   r	   T)r
   r   F)r   r1   rH   rm   asarrayrn   ro   )r
   rZ   r6   s      r   test_asarray_readonlyrt      s     bhhy@
ACCMZZ)F||%%%%ZZt4F<<!!!!ZZu5F||%%%%%r   c                     U n[        USS9nUS   US'   US   US'   [        R                  " UR                  5       U5        g )NTrG   r   r   )r   rR   rj   rh   rb   s      r   test_setitemrv      sC    E
e$
/CVCFQxE!H6r   c                      [         R                  " / SQSS9n [        U 5      n Sn[        R                  " [
        US9   U R                  U5        S S S 5        g ! , (       d  f       g = f)Nr>   r0   r	   z)cannot perform not_a_method with type intr<   )r1   rH   r   rA   rB   	TypeError_reducerZ   msgs     r   test_bad_reduce_raisesr|      sG    
((9G
,C
c
"C
5C	y	,C 
-	,	,s   A
A'c                      [        [        R                  " / SQ5      5      n Sn[        R                  " [
        US9   U R                  SS9  S S S 5        g ! , (       d  f       g = f)Nr>   z/the 'keepdims' parameter is not supported .*allr<   T)keepdims)r   r1   rH   rA   rB   rC   allrz   s     r   $test_validate_reduction_keyword_argsr      sB    
bhhy1
2C
;C	z	- 
.	-	-s   A
A$c                  T   / SQn [         R                  " U 5      nUR                  nUR                  5       US   L d   eUR                  5       US   L d   e[        R
                  R                  U5      nX2S   :X  d   e[        R
                  R                  U5      nX2S   :X  d   eg )N))jklm)r   op)r   r   r?   )rI   rJ   rH   maxr1   maximumreduce)valsrM   rZ   r6   s       r   test_np_max_nested_tuplesr      s    D
 ))D/C
))C779A779AZZs#FVZZs#FVr   c                  $   [         R                  " S5      R                  SS5      n [        U 5      n[         R                  R                  USS9n[        R                  " X!S   5        UR                  SS9n[        R                  " X1S   5        g )N      r@   r   )axis)	r1   arangereshaper   r   r   rR   rX   r   )rawrZ   resalts       r   test_np_reduce_2dr      sr    
))B-

1
%C
c
"C
**

Ca

(C##CR1
''q'/C##CR1r   ufuncc                 2   [        [        R                  " / SQ5      5      nU " U5      n[        U " UR                  5      5      n[        R
                  " X#5        [        [        R                  " / SQ5      5      nU " XS9  [        R
                  " XC5        g )Ng              rQ   )      "r   r   )out)r   r1   rH   ri   rR   rX   )r   rZ   r6   r)   r   s        r   test_ufunc_unaryr     sl    
bhh'78
9C3ZF"5#67H##F5 bhh'9:
;C	###C2r   c                     [        [        R                  " / SQ5      5      n [        R                  " U [        R                  " U S5      5      u  p[        R                  " U R
                  [        R                  " U R
                  S5      5      u  p4[        U5      n[        U5      n[        R                  " X5        [        R                  " X$5        g )Nr   r?   )r   r1   rH   divmodaddri   rR   rX   )rZ   r1r2e1e2s        r   
test_ufuncr     s    
bhh'78
9CYYsBFF3N+FBYYs||RVVCLL!%<=FB	R	 B	R	 B##B+##B+r   c                      [        [        R                  " / SQ5      5      n X -   n[        [        R                  " / SQ5      5      n[        R                  " X5        g )Nr>   )r?   r      r   r1   rH   rR   rX   )xr6   r)   s      r   test_basic_binopr     s?     	BHHY/0AUF"288I#67H##F5r   c                     [        [        R                  " / SQU S95      nSUS'   [        [        R                  " / SQU S95      n[        R                  " X5        g )N)r   r   cr	   tr   )r   r   r   r   )r
   rZ   r)   s      r   test_setitem_object_typecoder   "  sC    
bhheD
ECCF"288O5#IJH##C2r   c                  6   [        [        R                  " / SQ5      5      n [        R                  " [
        SS9   SU S'   S S S 5        SU S'   [        U S   [        [        R                  45      (       d   [        U S   5      5       eg ! , (       d  f       NO= f)Nr>   r   r<   r   r         @)
r   r1   rH   rA   rB   rC   
isinstancer   integertype)rZ   s    r   test_setitem_no_coercionr   *  sr    
bhhy1
2C	z	/A 
0
 CFc!fsBJJ/00>$s1v,>0 
0	/s   B


Bc                     [        [        R                  " / SQ5      5      n U R                  5       nU S S  n[        R                  " U 5      nSU S'   US   S:X  d   eUS   S:X  d   eUS   S:X  d   eSU S'   SUS'   U S   S:X  d   eg )Nr>   	   r   r   r      )r   r1   rH   viewrs   )rZ   view1view2view3s       r   test_setitem_preserves_viewsr   6  s    
bhhy1
2CHHJEFEJJsOECF8q==8q==8q==CGE"Ir7a<<r   c                 6   [        [        R                  " / U S95      n[        R                  " SS/5      nUR                  USS9n[        [        R                  " [        R                  [        R                  /5      5      n[        R                  " X45        g )Nr	   r   g      ?linear)interpolation)	r   r1   rH   rI   Index	_quantilenanrR   rX   )r
   rZ   idxr6   r)   s        r   test_quantile_emptyr   G  sk     bhhr7
8C
((C:
C]]3h]7F"288RVVRVV,<#=>H##F5r   c                  $   [         R                  " / SQ[         R                  S9n [        U 5      nUR	                  5       u  p#[
        R                  " U 5      u  pE[        R                  " X$5        [        R                  " U[        U5      5        g )Nr>   r	   )	r1   rH   rV   r   	factorizerI   rR   rj   rX   )rZ   obj	res_codes
res_unique	exp_codes
exp_uniques         r   test_factorize_unsignedr   R  sc    
((9BII
.C
c
"CMMOILL-I	5##J0CJ0OPr   c                    U [         R                  :X  a;  [        [         R                  " / SQU S95      n[         R                  " [
        5      nO0[        [         R                  " / SQU S95      n[         R                  nUR                  S/SS9nUR                  R                  U:X  d   eUR                  S/SSS9nUR                  R                  U:X  d   eg )	NFTFr	   r>   r   T
allow_fillg      @)r   
fill_value)	r1   bool_r   rH   r
   r"   rP   takera   )r
   rH   r)   r6   s       r   &test_take_assigns_floating_point_dtyper   _  s      #BHH-A$OP88F##BHHYe$DE::ZZZ.F<<##x///ZZ#Z>F<<##x///r   c                      [        [        R                  " / SQ[        R                  S95      n U R	                  S/SS9nUR
                  R                  [        R                  :X  d   eg )Nr   r	   r   Fr   )r   r1   rH   r   r   r
   ra   )rH   r6   s     r   "test_take_preserves_boolean_arraysr   }  sL    )=RXX NOEZZZ/F<<##rxx///r   c                    U n[        U5      nUR                  S:X  a  SnOUR                  S:X  a  SnOw[        UR                  5      R                  S5      (       a  SnOKUR                  S:X  a  SnO8UR                  S	:X  a  S
nO%UR                  S:X  a  SnOUR                  S:X  a  SnSW SUR                   3n[	        U5      nXT:X  d   U SU 35       eg )Nr"   z
['a', 'b']rP   z
[0.0, 1.0]r   z[0, 1]
complex128z[0j, (1+2j)]r   z[True, False]r   z>[1970-01-01T00:00:00.000000000, 1970-01-01T00:00:00.000000001]r   z[0 nanoseconds, 1 nanoseconds]z<NumpyExtensionArray>
z
Length: 2, dtype: z vs )r   r
   r   
startswithr2   )r   nparrayrZ   rK   r)   r6   s         r   test_array_reprr     s    G
g
&C}} 	)	#	W]]		&	&u	-	-	,	&	&	  	*	*Q	+	+1(0DW]]OTH#YF8&hZ88r   )D__doc__numpyr1   rA   pandas.compat.numpyr   pandas.core.dtypes.dtypesr   pandasrI   pandas._testing_testingrR   pandas.arraysr   fixturerH   r"   r   r   r   r   r   markparametrizer*   r.   r3   r7   r:   rE   rN   rT   r[   r_   rd   rk   rp   skipifrt   rv   r|   r   r   r   absnegativepositiver   r   r   r   r   r   r0   rV   r   r   r   uint8uint16uint32int8int16int32r   r   r   rD   r   r   <module>r      s  
   . 2   - 
#s6*
!Qu%
!Qs#
!VG,
$d+
!Q/0
!Q01
 
  ))
 ))
2
'
%-6-0
2
" &/RS4/2
& 3 T
&"7*2 2662;;"DE	3 F	3,6 4.13 23	?" 288RYY"786 96
Q 


		
		
		




00 09r   