
    A>i.#                        S SK rS SKrS SKrS SKJr  S SKJ	r	  S SK
Jr  S SKJrJrJr  \R                   " \R"                  \R$                  /S9S 5       rS rS rS	 rS
 rS r\R2                  R5                  SSS/S\R6                  /4S/\R6                  /4S\R6                  /\R6                  \R6                  /4\R6                  \R6                  /\R6                  \R6                  /4/5      S 5       r\R2                  R5                  SSS/SSS\R:                  " SSS9\R"                  " S/5      SS/SS//\R6                  SS0//5      S 5       rS rS r S r!S r"\R2                  R5                  SSS /S S/\" 5       \" 5       4SS /S S/S!\" 5       4SS \R6                  /S S\R6                  /\" 5       \" 5       4/5      S" 5       r#\R2                  R5                  S#\R"                  " S/S$S%9S\4\R"                  " S\R6                  /5      S\4\R"                  " S\R6                  /5      S&\4/5      S' 5       r$S( r%g))    N)
is_integer)IntegerArray)	Int8Dtype
Int32Dtype
Int64Dtype)paramsc                     U R                   $ )zbFixture returning parametrized IntegerArray from given sequence.

Used to test dtype conversions.
)param)requests    l/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/arrays/integer/test_construction.pyconstructorr      s     ==    c                  r    [         R                  " SS /[        5       S9n U S   [         R                  L d   eg )N   dtype)pdarrayr   NA)as    r   test_uses_pandas_nar      s,    
!T*,/AQ4255==r   c                    U R                   n[        R                  " U 5      nU R                  [        R
                  SS9nU(       a5  [        R                  " U[        U5      S9n[        R                  " XS5        OBSn[        R                  " [        US9   [        R                  " U[        U5      S9  S S S 5        [        R                  " U 5      n[        R                  " [        R                  " U 5      R                  5       [        U5      S9n[        R                  " XS5        [        R                  " U 5      R                  5       R                  SS9n[        R                  " U R                  5       5      R!                  [        R                   " UR"                  5      5      n[        R                  " U[        U5      S9n[        R                  " XS5        g ! , (       d  f       GN2= f)Nfloat)na_valuer   r   &Cannot cast NaN value to Integer dtypematchT)drop)r   r   Seriesto_numpynpnanstrtmassert_series_equalpytestraises
ValueErrorr   tolistdropnareset_indexastypetype)datausing_nan_is_nar   expectedarrresultmsgdroppeds           r   test_from_dtype_from_floatr5      s>   JJE yyH
--w-
7C3c%j1
v06]]:S1IIcU, 2 yyHYYrxx~,,.c%jAF6, yy%%'333>Hhht{{}%,,RXXejj-ABGYYwc%j1F6, 21s   G""
G1c                    [         R                  " SU 05      nUS   R                  S5      n[         R                  " [        R
                  " [         R                  S/[        S9SS9n[        R                  " X#5        US   R                  S5      R                  n[        R
                  " [         R                  S/[        S9n[        R                  " X#5        [        X#SS9 H  u  pE[         R                  " U5      (       a  [         R                  " U5      (       d   eM?  [        U5      (       a  XE:X  d   e[        U5      (       d   eMj  XE:X  d   e[        U5      [        U5      :X  a  M   e   g )NAobjectr   r   )nameT)strict)r   	DataFramer,   r   r!   r   r   r8   r$   r%   valuesassert_numpy_array_equalzipisnullr   r-   )data_missingdfr2   r0   res         r   test_conversionsrD   8   s	   	sL)	*BW^^H%Fyy255!*F;#FH6,
 W^^H%,,Fxx
&1H1FT299Q<<99Q<<<]]6M6a== =6M67d1g%%% 3r   c                  J   [         R                  " / SQSS9n [         R                  " / SQSS9n[        X5      n[        R                  " SSS[        R                  /S	S9n[
        R                  " X#5        S
n[        R                  " [        US9   [        U R                  5       U5        S S S 5        [        R                  " [        US9   [        XR                  5       5        S S S 5        [        R                  " [        US9   [        U R                  [        5      U5        S S S 5        Sn[        R                  " [        US9   [        U 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N`= f! , (       d  f       g = f)Nr            int64r   FFFTboolr   rG   rH   Int64z@.* should be .* numpy array. Use the 'pd.array' function insteadr   z;__init__\(\) missing 1 required positional argument: 'mask')r!   r   r   r   r   r$   assert_extension_array_equalr&   r'   	TypeErrorr)   r,   r   )r<   maskr2   r0   r3   s        r   test_integer_array_constructorrQ   Q   s   XXl'2F88/v>D&'FxxAq"%%(8H##F5
MC	y	,V]]_d+ 
- 
y	,V[[]+ 
- 
y	,V]]5)40 
-
HC	y	,V 
-	, 
-	, 
-	, 
-	, 
-	,s0   E!E2	 FF!
E/2
F 
F
F"c                     [         R                  " / SQSS9n [         R                  " / SQSS9n[        X5      nUR                  U L d   eUR                  UL d   e[        XSS9nUR                  U Ld   eUR                  ULd   eg )NrF   rJ   r   rK   rL   T)copy)r!   r   r   _data_mask)r<   rP   r2   s      r   #test_integer_array_constructor_copyrV   g   s    XXl'2F88/v>D&'F<<6!!!<<4&T2F<<v%%%<<t###r   za, br   c                 (   U(       aA  [         R                  " U SS9n[         R                  " USS9n[        R                  " X45        g Sn[        R
                  " [        US9   [         R                  " USS9  S S S 5        g ! , (       d  f       g = f)NrM   r   r   r   )r   r   r$   rN   r&   r'   r(   )r   br/   r2   r0   r3   s         r   !test_to_integer_array_none_is_nanrY   t   sb     !7+88AW-
''96]]:S1HHQg& 211s   $B
Br<   foobar      ?20130101rG   )periodsrH   rI   r   c                 d   SR                  / SQ5      n[        R                  " [        [        4US9   [
        R                  " U SS9  S S S 5        [        R                  " [        [        4US9   [        R                  " U 5        S S S 5        g ! , (       d  f       NM= f! , (       d  f       g = f)N|)z#cannot convert float NaN to integerz#cannot be converted to IntegerDtypez)invalid literal for int\(\) with base 10:zvalues must be a 1D list-likezCannot pass scalarz!int\(\) argument must be a stringr   rM   r   )	joinr&   r'   r(   rO   r   r   r   _from_sequence)r<   r3   s     r   test_to_integer_array_errorrc      s|     ((	
	C 

I.c	:
w' 
; 

I.c	:##F+ 
;	: 
;	: 
;	:s   B0B!
B!
B/c                 (   U " [         R                  " SS/SS95      nUR                  [        5       :X  d   eU " [         R                  " SS/SS95      nUR                  [	        5       :X  d   eU " SS/5      nUR                  [        5       :X  d   eg )Nr   rG   int8r   int32)r!   r   r   r   r   r   r   r2   s     r   $test_to_integer_array_inferred_dtyperh      s    1a&78F<<9;&&&1a&89F<<:<''' !Q F<<:<'''r   c                     U " SS/SS9nUR                   [        5       :X  d   eU " [        R                  " SS/SS9SS9nUR                   [	        5       :X  d   eg )Nr   rG   Int8r   re   Int32)r   r   r!   r   r   rg   s     r   #test_to_integer_array_dtype_keywordrl      sW    !Qv.F<<9;&&& 1a&7wGF<<:<'''r   c                     [         R                  " SS/SS9n [        R                  " SS/SS9n[        R
                  " X5        [        R                  " [        SS9   [         R                  " S	S/SS9  S S S 5        [         R                  " [        R                  " SS/S
S9SS9n U R                  [        5       :X  d   eg ! , (       d  f       NS= f)Nr\   g       @rM   r   r   rG   z!cannot safely cast non-equivalentr   g      ?float32)r   rb   r   r   r$   rN   r&   r'   rO   r!   r   r   r2   r0   s     r   test_to_integer_array_floatrp      s    ((#s7CFxxAg.H##F5	y(K	L##S#Jg> 
M ((
#s9-WF <<:<''' 
M	Ls   C
Cc                     [         R                  " / SQSS9n [        R                  " SS[        R                  /SS9n[
        R                  " X5        [        R                  " [        SS9   [         R                  " / SQSS9  S S S 5        [        R                  " [        SS9   [         R                  " S	S
/SS9  S S S 5        g ! , (       d  f       NH= f! , (       d  f       g = f)N)12NrM   r   r   rG   z,invalid literal for int\(\) with base 10: .*r   )rr   rs    z1.5z2.0)
r   rb   r   r   r   r$   rN   r&   r'   r(   ro   s     r   test_to_integer_array_strru      s    (()9IFxxAruuW5H##F5	I
 	##N'B

 
I
 	##UEN'B
 

 


 
s   -C&C
C
C&z5bool_values, int_values, target_dtype, expected_dtypeFTrM   c                    U(       d  [         R                  " US   5      (       aa  Sn[        R                  " [        US9   U " XS9  S S S 5        [        R                  " [        US9   [
        R                  " X#S9  S S S 5        g U " XS9nUR                  U:X  d   e[
        R                  " X#S9n[        R                  " Xx5        g ! , (       d  f       N= f! , (       d  f       g = fNr   r   r   )
r!   isnanr&   r'   r(   r   r   r   r$   rN   )	r   bool_values
int_valuestarget_dtypeexpected_dtyper/   r3   r2   r0   s	            r   test_to_integer_array_boolr~      s     rxxB886]]:S18 2]]:S1HHZ4 29F<<>)))xx
7H##F5 2111s   C
)C

C
C)zvalues, to_dtype, result_dtyperJ   r   re   c                 .   U(       d  [         R                  " U S   5      (       at  Sn[        R                  " [        US9   [
        R                  " XS9  S S S 5        [        R                  " [        US9   [        R                  " X" 5       S9  S S S 5        g [
        R                  " XS9nUR                  U" 5       :X  d   e[        R                  " X" 5       S9n[        R                  " XV5        g ! , (       d  f       N= f! , (       d  f       g = frw   )r!   ry   r&   r'   r(   r   rb   r   r   r   r$   rN   )r<   to_dtyperesult_dtyper/   r3   r2   r0   s          r   test_to_integer_arrayr      s     rxxr
336]]:S1''? 2]]:S1HHV<>2 2((@F<<<>)))xxln5H##F5 2111s   C57D5
D
Dc                      [         R                  " [        R                  " SS/5      SS9n [         R                  " [        R                  " SS/[        S9SS9n[        R
                  " X5        g )NTFrM   r   )r   r   r!   r8   r$   rN   )r0   r2   s     r   test_integer_array_from_booleanr     sL    xx$/w?HXXbhhe}F;7KF##F5r   )&numpyr!   r&   pandasr   pandas._testing_testingr$   pandas.api.typesr   pandas.core.arraysr   pandas.core.arrays.integerr   r   r   fixturer   rb   r   r   r5   rD   rQ   rV   markparametrizer"   rY   
date_rangerc   rh   rl   rp   ru   r~   r   r    r   r   <module>r      s|       ' +  ,"="=>? @
-6&2,
$ 

TQK 
"&&
"&&"&&)*
&&"&&	BFFBFF+,	'' 		
j!,
%
Q!Q	#q	,,&	(((C  ;
A
jl;
A6
rvv	Arvv
jlK66" $	1#W	%tZ8	1bff+	j1	1bff+		266 6r   