
    Eg<"                        d 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  ej         ej        ddge           ej        ddge           ej        ddge           ej        dd	ge           ej        d
dge           ej        ddgd           ej        ddgd          g          d             Zej                            dg d          d             Zej                            dg d          d             Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d  Z$d! Z%d" Z&d# Z'd$ Z(ej                            d%ej)        ej*        ej+        g          d&             Z,d' Z-d( Z.ej                            d)deg          d*             Z/d+ Z0d, Z1ej                            d)ej2        ej3        g          d-             Z4d. Z5dS )/zV
Additional tests for NumpyExtensionArray that aren't covered by
the interface tests.
    NNumpyEADtype)NumpyExtensionArrayabdtype   y      ?       @TFdatetime64[ns]ztimedelta64[ns])paramsc                     | j         S )zk
    Parametrized fixture for NumPy arrays with different dtypes.

    This excludes string and bytes.
    )param)requests    Z/var/www/sysmax/venv/lib/python3.11/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                 :    t          |           } | j        |u sJ d S 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                 :    t          |           } | j        |u sJ d S r#   )r   _is_booleanr%   s     r   test_is_booleanr+   ;   r(   r   c                  r    t          t          j        d                    } t          |           dk    sJ d S )Nint64zNumpyEADtype('int64'))r   npr	   reprr   s    r   	test_reprr0   O   s7    '**++E;;1111111r   c                      t          j        d          } t          t          j        d                    }| |k    sJ d S )Nr-   )r   construct_from_stringr.   r	   )resultr&   s     r   test_constructor_from_stringr4   T   s@    /88FBHW--..HXr   c                 R    t          |           }t          |          }||k    sJ d S r#   r   )any_numpy_dtyper	   r3   s      r   test_dtype_idempotentr7   Z   s-    ))E%  FU??????r   c                      t          j        t          d          5  t          g d           d d d            d S # 1 swxY w Y   d S )NzNumPy arraymatchr
         )pytestraises
ValueErrorr    r   r   test_constructor_no_coercionrB   e   s    	z	7	7	7 ' 'III&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 's   ;??c                      t          j        g d          } t          j        t	          |           d          }|j        | usJ d S )Nr;   Tcopy)r.   arraypdSeriesr   values)ndarraysers     r   !test_series_constructor_with_copyrL   j   sK    hyyy!!G
)'00t
<
<
<C:W$$$$$$r   c                      t          j        g d          } t          j        t	          |           d          }t          j        g dd          }t          j        ||           d S )Nr;   float64r   )      ?g       @g      @)r.   rF   rG   rH   r   tmassert_series_equal)rJ   r3   r&   s      r   #test_series_constructor_with_astyperR   q   sc    hyyy!!GY*7339EEEFy	:::H68,,,,,r   c                      t          j        g dd          } t          j        | d          }t          t          j        g dd                    }t	          j        ||           d S )Nr;   r-   r   uint64)r.   rF   r   _from_sequencerP   assert_extension_array_equalarrr3   r&   s      r   test_from_sequence_dtyperY   x   sh    
(999G
,
,
,C /8DDDF"28IIIX#F#F#FGGH#FH55555r   c                      t          j        ddg          } t          | d          }t          j        ||           rJ d S )Nr   r
   TrD   )r.   rF   r   rP   shares_memory)rX   r3   s     r   test_constructor_copyr\      sF    
(Aq6

C 4000F,,,,,,,r   c                 V    | }t          |          }|j        j        |j        k    sJ d S r#   )r   r	   numpy_dtyper   nparrrX   s      r   test_constructor_with_datara      s2    E
e
$
$C9 EK//////r   c                  R   t          t          j        g d                    } |                                 }|| j        u sJ |                     d          }|| j        usJ |                     d          }t          j        g dd          }t          j        ||           d S )Nr;   TrD   f8r   )r   r.   rF   to_numpy_ndarrayrP   assert_numpy_array_equalrW   s      r   test_to_numpyrg      s    
bhyyy11
2
2C\\^^FS\!!!!\\t\$$F%%%%\\\%%Fx			...H11111r   c                      t          j        g d          } d| j        d<   t          j        g d          }t          j        | |           d S )Nr;   
   r   )ri   r<   r=   )rG   rH   rF   rP   rQ   )rK   r&   s     r   test_setitem_seriesrj      sL    
)III

CCIaLy$$H3)))))r   c                     | }t          |d          }|d         |d<   |d         |d<   t          j        |                                |           d S )NTrD   r
   r   )r   rP   rf   rd   r_   s      r   test_setitemrl      sT    E
e$
/
/
/CVCFQxE!H66666r   c                      t          j        g dd          } t          |           } d}t          j        t
          |          5  |                     |           d d d            d S # 1 swxY w Y   d S )Nr;   r-   r   z)cannot perform not_a_method with type intr9   )r.   rF   r   r>   r?   	TypeError_reducerX   msgs     r   test_bad_reduce_raisesrr      s    
(999G
,
,
,C
c
"
"C
5C	y	,	,	,  C                 s   A((A,/A,c                      t          t          j        g d                    } d}t          j        t
          |          5  |                     d           d d d            d S # 1 swxY w Y   d S )Nr;   z/the 'keepdims' parameter is not supported .*allr9   T)keepdims)r   r.   rF   r>   r?   r@   allrp   s     r   $test_validate_reduction_keyword_argsrv      s    
bhyyy11
2
2C
;C	z	-	-	-                   s   A%%A),A)c                  p   g d} t          j        |           }|j        }|                                |d         u sJ |                                |d         u sJ t          j                            |          }||d         k    sJ t          j                            |          }||d         k    sJ d S )N))jklm)r{   op)r~   rx   r<   )rG   rH   rF   maxr.   maximumreduce)valsrK   rX   r3   s       r   test_np_max_nested_tuplesr      s      D
 )D//C
)C7799A7799AZs##FSVZs##FSVr   c                  N   t          j        d                              dd          } t          |           }t           j                            |d          }t          j        ||d                    |                    d          }t          j        ||d                    d S )N      r=   r   )axis)	r.   arangereshaper   r   r   rP   rV   r   )rawrX   resalts       r   test_np_reduce_2dr      s    
)B--

1
%
%C
c
"
"C
*

Ca

(
(C#CR111
''q'//C#CR11111r   ufuncc                 P   t          t          j        g d                    } | |          }t           | |j                            }t	          j        ||           t          t          j        g d                    } | ||           t	          j        ||           d S )Ng              rO   )      "r   r   )out)r   r.   rF   re   rP   rV   )r   rX   r3   r&   r   s        r   test_ufunc_unaryr      s    
bh'7'7'788
9
9CU3ZZF"55#6#677H#FH555 bh'9'9'9::
;
;C	E#3#C22222r   c                     t          t          j        g d                    } t          j        | t          j        | d                    \  }}t          j        | j        t          j        | j        d                    \  }}t          |          }t          |          }t          j        ||           t          j        ||           d S )Nr   r<   )r   r.   rF   divmodaddre   rP   rV   )rX   r1r2e1e2s        r   
test_ufuncr      s    
bh'7'7'788
9
9CYsBF3NN++FBYs|RVCL!%<%<==FB	R	 	 B	R	 	 B#B+++#B+++++r   c                      t          t          j        g d                    } | | z   }t          t          j        g d                    }t          j        ||           d S )Nr;   )r<   r      r   r.   rF   rP   rV   )xr3   r&   s      r   test_basic_binopr     s\     	BHYYY//00AUF"28III#6#677H#FH55555r   r	   c                     t          t          j        g d|                     }d|d<   t          t          j        g d|                     }t          j        ||           d S )N)r   r   cr   tr   )r   r   r   r   )r	   rX   r&   s      r   test_setitem_object_typecoder   
  sd    
bheDDD
E
ECCF"28OOO5#I#I#IJJH#C22222r   c                  N   t          t          j        g d                    } t          j        t
          d          5  d| d<   d d d            n# 1 swxY w Y   d| d<   t          | d         t          t          j        f          sJ t          | d                               d S )Nr;   r   r9   r   r         @)
r   r.   rF   r>   r?   r@   
isinstancer   integertype)rX   s    r   test_setitem_no_coercionr     s    
bhyyy11
2
2C	z	/	/	/  A              
 CFc!fsBJ/00>>$s1v,,>>>>>s   AAAc                  >   t          t          j        g d                    } |                                 }| d d          }t          j        |           }d| d<   |d         dk    sJ |d         dk    sJ |d         dk    sJ d| d<   d|d<   | d         dk    sJ d S )Nr;   	   r   r   r      )r   r.   rF   viewasarray)rX   view1view2view3s       r   test_setitem_preserves_viewsr     s    
bhyyy11
2
2CHHJJEFEJsOOECF8q====8q====8q====CGE"Ir7a<<<<<<r   c                 >   t          t          j        g |                     }t          j        ddg          }|                    |d          }t          t          j        t          j        t          j        g                    }t          j        ||           d S )Nr   r   g      ?linear)interpolation)	r   r.   rF   rG   Index	_quantilenanrP   rV   )r	   rX   idxr3   r&   s        r   test_quantile_emptyr   /  s     bhr777
8
8C
(C:

C]]3h]77F"28RVRV,<#=#=>>H#FH55555r   c                  2   t          j        g dt           j                  } t          |           }|                                \  }}t          j        |           \  }}t          j        ||           t          j        |t          |                     d S )Nr;   r   )	r.   rF   rT   r   	factorizerG   rP   rf   rV   )rX   obj	res_codes
res_unique	exp_codes
exp_uniques         r   test_factorize_unsignedr   :  s    
(999BI
.
.
.C
c
"
"CMMOOIzL--Iz	9555#J0CJ0O0OPPPPPr   )6__doc__numpyr.   r>   pandas.core.dtypes.dtypesr   pandasrG   pandas._testing_testingrP   pandas.arraysr   fixturerF   r   r   r   r   r   r   markparametrizer'   r+   r0   r4   r7   rB   rL   rR   rY   r\   ra   rg   rj   rl   rr   rv   r   r   absnegativepositiver   r   r   r   r   r   r-   rT   r   r   rA   r   r   <module>r      s         2 2 2 2 2 2           - - - - - - #s6***!Qu%%%!Qs###!VG,,,$d+++!Q/000!Q0111
 
 
 
 
    ) ) )
    ) ) )
2 2 2
    ' ' '
% % %- - -6 6 6- - -0 0 0
2 
2 
2"* * *7 7 7      *2 2 2 262;"DEE	3 	3 FE	3, , ,6 6 6 4.113 3 213	? 	? 	?  " 28RY"7886 6 986
Q 
Q 
Q 
Q 
Qr   