
    A>igg                     Z   S SK r S SKrS SKJr  S SKrS SKJs  Jr  S SK	r
S SK	JrJrJrJrJrJr  S SKJr  \R(                  " / SQS9S 5       r\R(                  " SS/S9S	 5       r\R(                  " S
 \/SS/S9S 5       r\R(                  " SS/S9S 5       r\R(                  " SS/S9S 5       r\R(                  " S \R6                  4S \R8                  4S \R:                  4/S9S 5       r\R>                  RA                  S0 S\RB                  04SSS.S\RD                  04/5      S 5       r#\R>                  RA                  SS\RH                  " S\RJ                  " S5      S9/5      \R>                  RA                  S S!S"/5      S# 5       5       r&\R>                  RA                  S$/ S%Q/ S&Q/ S'Q/5      S( 5       r'\R>                  RA                  S)/ S*QS+4/ S,QS-4/5      S. 5       r(S/ r)\R>                  RA                  S0S1SS2S3\RT                  /4/5      S4 5       r+S5 r,\R>                  RA                  S6/ S%QS\RB                  04/ S&Q0 4/ S'Q0 4/5      S7 5       r-\R>                  RA                  S8SS900 /5      S: 5       r.\R>                  RA                  S;S<S<S=//5      S> 5       r/\R>                  RA                  S?\ R`                  " S@5      S2/\ R`                  " SA5      SB/SCS2/SDSB/4\Rb                  " \ R`                  " S@5      S2/5      SB/SCS2/SB/4/5      SE 5       r2SF r3SG r4\R>                  RA                  SH/ SIQ5      SJ 5       r5SK r6SL r7SM r8\R>                  RA                  SNSOSSP 4/5      SQ 5       r9\R>                  RA                  S$/ SRQS2\RT                  SS\RT                  //5      ST 5       r:\R>                  RA                  SU/ SVQ\Rb                  " / SRQSWSX94/ SYQ\Rb                  " / SZQ5      4/5      S[ 5       r;S\ r<S] r=\R>                  RA                  S^\
R|                  " S_S`5      \
R~                  " Sa5      \
R~                  " SaSbSc9/5      Sd 5       r@Se rA\R>                  RA                  SfSgS\" \RT                  S2\RT                  /5      4/5      Sh 5       rBSi rCSj rD\R>                  RA                  S$/ SkQ/ SRQ\Rb                  " / SlQSmSX9/5      \R>                  RA                  Sn0 \RB                  4SoS0\RB                  4SoSp0\R                  " \R                  5      R                  4SoSq0\R                  " \R                  Sr   S    5      4/5      Ss 5       5       rI\R>                  RA                  StSSu/5      \R>                  RA                  S$/ SkQ/ SRQ\Rb                  " / SlQSmSX9/5      Sv 5       5       rJSw rK\R>                  RA                  So/ SxQ5      \R>                  RA                  Sy/ SzQ\Rb                  " / S{Q\R                  SX94/ S|Q\Rb                  " / S|Q\R                  SX94/5      S} 5       5       rM\R>                  RA                  S~S\R                  4Su\R                  4Sq\R                  4/5      S 5       rP\R>                  RA                  SSS\" \RD                  5      R                  \" \RD                  5      R                  /4SS\" \R                  5      R                  \" \R                  5      R                  /4SS\" \R                  5      R                  \" \R                  5      R                  /4SWS\" \RB                  5      R                  \" \RB                  5      R                  /4SSq\" \R                  5      R                  \" \R                  5      R                  /4SSq\" \R                  5      R                  \" \R                  5      R                  /4SSq\" \R                  5      R                  \" \R                  5      R                  /4SSq\" \R                  5      R                  \" \R                  5      R                  /4SS\" \RD                  5      R                  \" \RD                  5      R                  S_-   /4SS\" \R                  5      R                  \" \R                  5      R                  S_-   /4SWS\" \R                  5      R                  \" \R                  5      R                  S_-   /4SS\" \RD                  5      R                  S_-
  \" \R                  5      R                  /4SS\" \R                  5      R                  S_-
  \" \R                  5      R                  /4SWS\" \R                  5      R                  S_-
  \" \RB                  5      R                  /4SSq\" \R                  5      R                  \" \R                  5      R                  S_-   /4SSq\" \R                  5      R                  \" \R                  5      R                  S_-   /4SSq\" \R                  5      R                  \" \R                  5      R                  S_-   /4/5      S 5       rWS rXS rY\R>                  RA                  S?/ SQSS\RT                  \RT                  S/4/ SQSS\RT                  /4/5      S 5       rZS r[\R>                  RA                  S/ SQ5      \R>                  RA                  S/ SQ5      S 5       5       r\S r]\R>                  RA                  S/ SQ5      S 5       r^\R>                  RA                  S/ SQ\" S_S\
R                  /SSX94/ SVQ\" / SRQSSX94/ SQ\" / SRQSSX94/ SQ\" / SQSSX94/ SQ\" S_\
R                  S/SSX94/ SQ\" / SQSSX94/5      S 5       r`S ra\R>                  RA                  SS_S_/SSS4S2\
R                  /SSS4S2S/SSS4S_\
R                  /SSS4SS/SSS4S_S_/SSS4\R                  " \RB                  5      R                  S_-
  S_/SSS4S_S_/SSuS4S2S2/SSuS4S2S/SSuS4S_\
R                  /SSuS4SS/SSuS4\R                  " \R                  5      R                  S_-
  S_/SSuS4S_S_/SSqS4S2S2/SSqS4S2S/SSqS4S_\
R                  /SSqS4SS/SSqS4SS/SSqS4S_S_/SSpS4S_S/SSpS4S_S_/SSpS4S_S/SSpS445      S 5       rbS rcS rd\R>                  RA                  SHSS/5      S 5       re\R>                  RA                  S/ SQ5      S 5       rf\R>                  RA                  S/ SQ5      S 5       rg\R>                  RA                  S/ SQ5      S 5       rh\R>                  RA                  SSS/SS//5      S 5       ri\R>                  RA                  S/ SQ5      S 5       rjS rkS rlS rmg)    N)iinfo)
ArrowDtype	DataFrameIndexSeriesoption_context
to_numeric)Nraisecoerce)paramsc                     U R                   $ Nparamrequests    a/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/tools/test_to_numeric.pyerrorsr          ==    TFc                     U R                   $ r   r   r   s    r   signedr      r   r   c                     U $ r    xs    r   <lambda>r      s    !r   identitystr)r   idsc                     U R                   $ r   r   r   s    r   	transformr"      r   r   l   N"2) l      Fx:^V c                     U R                   $ r   r   r   s    r   	large_valr$   $   r   r   c                     U R                   $ r   r   r   s    r   multiple_eltsr&   )   r   r   c                     [        U SS9$ )Nidxname)r   r   s    r   r   r   0   s    5'r   c                     [        U SS9$ )Nserr)   )r   r   s    r   r   r   1   s    6!%(r   c                 T    [         R                  " [        U 5      R                  5      $ r   )nparrayr   valuesr   s    r   r   r   2   s    288E!HOO,r   c                     U R                   $ r   r   r   s    r   transform_assert_equalr2   .   s     ==r   zinput_kwargs,result_kwargsdtyper   integer)r   downcastc                 |    [        / [        S9n[        U40 U D6n[        / 40 UD6n[        R                  " X45        g Nr3   r   objectr	   tmassert_series_equal)input_kwargsresult_kwargsr,   resultexpecteds        r   
test_emptyrA   9   s<     6
"C,|,Fb*M*H6,r   infer_stringpyarrow)markslast_val7   c                     [        SU5         [        SSU /5      n[        U5      nS S S 5        [        / SQ5      n[        R                  " WU5        g ! , (       d  f       N3= f)Nzfuture.infer_string1-3.14   Q	rG   )r   r   r	   r;   r<   )rE   rB   r,   r?   r@   s        r   test_seriesrN   I   sS    
 
-|	<c7H-.C 
= m$H68, 
=	<s   A
A"data)rL            )      ?      @      @g      @)TFTTc                 n    [        U [        S5      SS9n[        U5      n[        R                  " X!5        g )NABCDEFG)indexr*   )r   listr	   r;   r<   )rO   r,   r?   s      r   test_series_numericr[   V   s-     T&\
6C_F6'r   zdata,msgrL   rM   apple,Unable to parse string "apple" at position 2)orangerL   rM   r]   z-Unable to parse string "orange" at position 0c                     [        U 5      n[        R                  " [        US9   [	        USS9  S S S 5        g ! , (       d  f       g = f)Nmatchr
   r   r   pytestraises
ValueErrorr	   )rO   msgr,   s      r   
test_errorri   f   s1     ,C	z	-3w' 
.	-	-s	   9
Ac                      [        / SQ5      n [        U SS9n[        SS[        R                  /5      n[        R
                  " X5        g )Nr\   r   rc   rL   rM   r   r	   r.   nanr;   r<   r,   r?   r@   s      r   test_ignore_errorrn   w   s<    
$
%CH-Fq%()H6,r   z
errors,exp)r
   r^   rS   g        c                    [        / SQ5      n[        U[        5      (       a,  [        R                  " [
        US9   [        X S9  S S S 5        g [        X S9n[        U5      n[        R                  " X45        g ! , (       d  f       g = f)N)TFr]   ra   rc   )	r   
isinstancer   re   rf   rg   r	   r;   r<   )r   expr,   r?   r@   s        r   test_bool_handlingrr      sf     '
(C#s]]:S1s* 21 C/#;
v0 21s   
A::
Bc                  ~    / SQn [        U 5      n[        R                  " / SQ5      n[        R                  " X5        g )N)rI   rJ   rF   rK   r	   r.   r/   r;   assert_numpy_array_equal)r,   resr@   s      r   	test_listrw      s,    
C
S/Cxx&H.r   zdata,arr_kwargsc                 t    [        U 5      n[        R                  " U 40 UD6n[        R                  " X#5        g r   rt   )rO   
arr_kwargsr?   r@   s       r   test_list_numericrz      s/     Fxx+
+H1r   kwargsOc                 |    / SQn[        U40 U D6n[        U5      n[        U5      n[        R                  " X45        g )NrK   r   r	   r;   r<   )r{   rO   r,   r?   r@   s        r   test_numericr      s6    D

 
 C_Fd|H6,r   columnsabc                    [        S[        R                  " S5      [        R                  " S5      S// SQS.5      n[        SS[        R                  S// SQS.5      nX   R                  [        5      X'   [        R                  " X5        g )	Ng333333?3.14infinityz0.1)rS   g       @rT   rU   r   r   Q	@皙?)	r   decimalDecimalr.   infapplyr	   r;   assert_frame_equal)r   dfr@   s      r   test_numeric_df_columnsr      su     
wv.
0KUS%	

B T26637>RSTH+##J/BK"'r   zdata,exp_datar   z1.6r   r   g?c                     [        SU 05      nUS   R                  [        5      US'   [        SU05      n[        R                  " X#5        g )Nr   )r   r   r	   r;   r   )rO   exp_datar   r@   s       r   test_numeric_embedded_arr_likesr      sD     
C;	BgmmJ'BsG#x)H"'r   c                      [        / SQ5      n [        U SS9n[        [        R                  [        R                  [        R                  /5      n[        R
                  " X5        g )N)r   r   cr   rc   rk   rm   s      r   test_all_nanr      sC    

!CH-Frvvrvvrvv./H6,r   c                     [        / SQ/ SQS.5      nU b  SU 0O0 n[        R                  " [        SS9   [	        U40 UD6  S S S 5        g ! , (       d  f       g = f)NrK   )456r   r   z	1-d arrayra   )r   re   rf   	TypeErrorr	   )r   r   r{   s      r   test_type_checkr      sI    	_=	>B#)#5h2F	y	42   
5	4	4s   A
Aval)rL   皙?i!N  c                 \    U(       a  U * OU n [        U" U 5      5      [        U 5      :X  d   eg r   r	   float)r   r   r"   s      r   test_scalarr      s(    3$cCin%s333r   c                     Ub  SU0O0 nU(       a  U * OU nU" U5      nUS:X  a  [        U5      O
[        U5      n[        R                  " [	        U40 UD6U5        g )Nr   r   )r   intr;   assert_almost_equalr	   )r$   r   r"   r   r{   r   r@   s          r   test_really_large_scalarr      sW    #)#5h2F9*IC
C.C#x/uSzSXH:c4V4h?r   c                    Ub  SU0O0 nU(       a  U * OU nU" U5      nSnU/X7/-  -   nUS:H  n	US;   a8  U(       a1  Sn
[         R                  " [        U
S9   [        U40 UD6  S S S 5        g [        U40 UD6nU	(       a  [	        U5      O
[        U5      nU/nU(       aE  U	(       a&  UR                  [        R                  5        [        nO9UR                  U5        [        nO![        U[        5      (       a  [        O[        n[        R                  " U[        R                  " XS95        g ! , (       d  f       g = f)Nr   stringr   )Nr
   z-Unable to parse string "string" at position 1ra   r8   )re   rf   rg   r	   r   r   appendr.   rl   r:   rp   r;   r   r/   )r$   r   r"   r&   r   r{   r   	extra_eltarrcoercingrh   r?   exp_valr@   	exp_dtypes                  r   test_really_large_in_arrr     s   #)#5h2F9*IC
C.CI%-+-
-C!H ]=]]:S1s%f% 21 C*6*!)%*C9'!		*"	!+GU!;!;I
vrxx'JK% 21s   D//
D=c                 b   Ub  SU0O0 n[        U(       a  U * OU 5      /nU(       a  UR                  SU 5        [        U40 UD6nU Vs/ s H  osS:X  a  [        U5      O
[	        U5      PM      nnUS:X  a  [        O[
        n	[        R                  " U[        R                  " XS95        g s  snf )Nr   r   r   r8   )
r   insertr	   r   r   r:   r;   r   r.   r/   )
r$   r   r&   r   r{   r   r?   ir@   r   s
             r   #test_really_large_in_arr_consistentr   %  s    
 $*#5h2FV	z3
4C

1i &v&FDGHCqh.aCF:CHH8+I6288H#FG Is   	%B,zerrors,checker)r
   z+Unable to parse string "fail" at position 0c                 .    [         R                  " U 5      $ r   )r.   isnanr   s    r   r   r   ;  s    RXXa[r   c                     Sn[        U[        5      (       a,  [        R                  " [        US9   [        X S9  S S S 5        g U" [        X S95      (       d   eg ! , (       d  f       g = f)Nfailra   rc   )rp   r   re   rf   rg   r	   )r   checkerscalars      r   test_scalar_failr   7  sU     F'3]]:W5v- 65 z&89999 65s   
A
A)rL      rP   rP   c                 B    Uu  p#U" U 5      n [        U 5      nU" X@5        g r   r	   )rO   r2   r"   assert_equalr?   s        r   test_numeric_dtypesr   H  s%    4IT?DFr   zdata,exp)rI   23int64r8   )z1.5z2.7z3.4)      ?g@g333333@c                 N    Uu  p4[        U" U 5      5      nU" U5      nU" XV5        g r   r   )rO   rq   r2   r"   r   r?   r@   s          r   test_strr   Q  s+     5I	$(F~H"r   c                     Uu  p#[         R                  " SSU S9n[        U" U5      5      nU" UR                  5      nU" XV5        g )N20130101rP   )periodstz)pd
date_ranger	   asi8)tz_naive_fixturer2   r"   r   r(   r?   r@   s          r   test_datetime_liker   `  sA    4I
--
A2B
CC	#'F"H"r   c                     U u  p[         R                  " SSSS9n[        U" U5      5      nU" UR                  5      nU" XE5        g )Nz1 daysrP   D)r   freq)r   timedelta_ranger	   r   )r2   r"   r   r(   r?   r@   s         r   test_timedeltar   i  sB    4I


Xqs
;C	#'F"H"r   r   rL   r   z2017-01-01T12z
US/Pacific)r   c                 V    [        U 5      n[        [        U 5      5      S   nX:X  d   eg )Nr   )r	   r   )r   r?   r@   s      r   test_timedelta_timestamp_scalarr   r  s-     F&.)!,Hr   c                    Uu  p#[         R                  " SSSSS9nU" U5      n[        U[        5      (       d,  U R	                  [
        R                  R                  SS95        [        U5      nU" UR                  5      nU" Xg5        g )Nz2011-01rP   M )r   r   r*   z)Missing PeriodDtype support in to_numeric)reason)
r   period_rangerp   r   applymarkerre   markxfailr	   r   )r   r2   r"   r   r(   inpr?   r@   s           r   test_periodr     sy    4I
//)QSr
BC
C.Cc5!!KK%PQ	
 _F"H"r   zerrors,expected)r
   z!Invalid object type at position 0c                    [        SS/SS/5      n[        U[        5      (       a,  [        R                  " [
        US9   [        X S9  S S S 5        g [        X S9n[        R                  " X15        g ! , (       d  f       g = f)Ng      $@r   rS   r]   ra   rc   )	r   rp   r   re   rf   r   r	   r;   r<   )r   r@   r,   r?   s       r   test_non_hashabler     sg     4)S'*
+C(C  ]]9H5s* 65 C/
v0	 65s   
A22
B c                      / SQn SnSn[         R                  " [        US9   [        XS9  S S S 5        g ! , (       d  f       g = f)NrI   r   rP   zunsigned-integerz#invalid downcasting method providedra   r5   re   rf   rg   r	   )rO   invalid_downcastrh   s      r   test_downcast_invalid_castr     s4    D)
/C	z	-43 
.	-	-	   
5
Ac                      / SQn SnSn[         R                  " [        US9   [        XS9  S S S 5        g ! , (       d  f       g = f)Nr   invalidzinvalid error value specifiedra   rc   r   )rO   invalid_error_valuerh   s      r   test_errors_invalid_valuer     s4    D#
)C	z	-44 
.	-	-r   r   )z
1970-01-02z
1970-01-03z
1970-01-04zdatetime64[D]zkwargs,exp_dtyper5   r   unsignedUnsignedIntegerc                 v    [        U 40 UD6n[        R                  " / SQUS9n[        R                  " X45        g )Nr   r8   rt   )rO   r{   r   r?   r@   s        r   test_downcast_basicr     s1    , ''Fxx	3H1r   signed_downcastr   c                     [         R                  " [         R                  S   S   5      n[         R                  " / SQUS9n[	        XS9n[
        R                  " XC5        g )NIntegerr   r   r8   r   )r.   r3   	typecodesr/   r	   r;   ru   )rO   r   smallest_int_dtyper@   rv   s        r   test_signed_downcastr     sJ     ",,y"9!"<=xx	);<H
T
4C.r   c                      / SQn [         R                  " / SQ[         R                  S9n[        U SS9n[        R
                  " X!5        g )N)z-1r   rP   )r   rP   r8   r   r   )r.   r/   r   r	   r;   ru   )rO   r@   rv   s      r   $test_ignore_downcast_neg_to_unsignedr     s7     Dxx
"((3H
TJ
/C.r   )r4   r   r   zdata,expected)z1.1r   rP   )r   r   rP   )g     @i N  i  gR@iP  g     j@c                 B    [        XS9n[        R                  " X15        g Nr   )r	   r;   ru   )rO   r@   r5   rv   s       r   )test_ignore_downcast_cannot_convert_floatr     s      T
-C.r   zdowncast,expected_dtypec                 x    / SQn[         R                  " / SQUS9n[        X S9n[        R                  " XC5        g )N)256    )   r   r   r8   r   )r.   r/   r	   r;   ru   )r5   expected_dtyperO   r@   rv   s        r   test_downcast_not8bitr    s1     Dxx~>H
T
-C.r   zdtype,downcast,min_maxint8int16int32uint8uint16uint32uint64c                 N    [        [        U5      US9nUR                  U :X  d   eg r   )r	   r   r3   )r3   r5   min_maxseriess       r   test_downcast_limitsr    s&    0 w(;F<<5   r   c                      [        S[        R                  " [        R                  5      R                  [        R
                  /[        R                  S9n [        U SS9nU R                  UR                  :X  d   eg )Ng     pAr8   r   r   )r   r.   finfofloat64maxrl   r	   r3   )r  r?   s     r    test_downcast_float64_to_float32r  ,  sR    Z"**!5!9!9266B"**UF1F<<6<<'''r   c                      [        SS/5      n [        U SS9n[        SS/[        R                  S9n[        R
                  " X5        g )Nr   l            r   r   r8   )r   r	   r.   r
  r;   r<   rm   s      r   test_downcast_uint64r  4  sD     !()
*Cj1Fq-.bii@H6,r   )   ,  r   NaN     p;6$ r  r  r  12345678901234567890
1234567890ITEMl   
>V3&Z
 iIc                 r    [        [        U 5      SS9n[        U[        S9n[        R                  " X#5        g )Nr   rc   r8   )r	   r   r   r;   r<   )rO   r   r?   r@   s       r   test_coerce_uint64_conflictr  =  s.    $ tX6Fhe,H6,r   c                      [        / SQ5      n [        R                  " [        SS9   [	        U SS9  S S S 5        g ! , (       d  f       g = f)Nr  Unable to parse stringra   r
   rc   rd   )r,   s    r   test_non_coerce_uint64_conflictr"  T  s5     ?
@C	z)A	B3w' 
C	B	Bs	   ;
A	dc1)r4   r   r   dc2c                 P    [         R                  " [        / U S9[        / US9SS9  g )Nr   F)check_dtype)r;   ru   r	   )r#  r$  s     r   test_downcast_emptyr'  ^  s)    
 2$2$r   c                      [        SSS9n [        R                  " U 5      (       d   e[        SS[        R                  /5      n[        [        / SQ5      SS9n [
        R                  " X5        g )Nr
  r   rc       @   )3264r
  )r	   r.   r   r   rl   r;   r<   )r?   r,   s     r   ,test_failure_to_convert_uint64_string_to_NaNr-  j  sX    2F88F
"b"&&!
"C56xHF6'r   strrep).z243.164z245.968z249.585z259.745z265.742z272.567z279.196z280.366z275.034z271.351z272.889z270.627z280.828z290.383z308.153z319.945z336.0z344.09z351.385z356.178z359.82z361.03z367.701z380.812z387.98z391.749z391.171z385.97z385.345z386.121z390.996z399.734z413.073z421.532z430.221z437.092z439.746z446.01z451.191z460.463z469.779z472.025z479.49z474.864z467.54z471.978c                 <    [        U 5      nU[        U 5      :X  d   eg r   r   )r.  r?   s     r   test_precision_float_conversionr0  t  s!    j FU6]"""r   zvalues, expected)rI   r   Nr   Int64)rI   r   rP   )rI   r         @)rL   r   r2  Float64)rI   Nr2  r2  )rI   r   z3.5c                 X    [        XS9n[        U5      n[        R                  " XB5        g r7   r~   )r0   nullable_string_dtyper@   sr?   s        r   $test_to_numeric_from_nullable_stringr7    s%     	v3A]F6,r   c                     SS/n[        XS9n[        USS9n[        [        R                  S/SS9n[        R
                  " X45        g )Nr   rI   r8   r   rc   rL   r1  )r   r	   r   NAr;   r<   )r5  r0   r,   r?   r@   s        r   +test_to_numeric_from_nullable_string_coercer:    sC    3ZF

5CH-Fruuaj0H6,r   z+data, input_dtype, downcast, expected_dtypeInt8r   i  Int16Float32iUInt64UInt8r   Int32c                     [         R                  " XS9n[        XBS9n[         R                  " XS9n[        R                  " XV5        g )Nr8   r   )r   r/   r	   r;   assert_extension_array_equal)rO   input_dtyper5   r  r   r?   r@   s          r   test_downcast_nullable_numericrD    s8    : ((4
+C/Fxx3H##F5r   c                  .   [         R                  " SS[         R                  /SS9n [        U SS9n[         R                  " SS[         R                  /SS9n[        R
                  " X5        [         R                  U S'   [        R
                  " X5        g )NrL   r   r1  r8   r4   r   r;  )r   r/   r9  r	   r;   rB  )r   r?   r@   s      r   %test_downcast_nullable_mask_is_copiedrF    sm     ((Aq"%%=
0Ci0FxxAruuV4H##F5UUCF##F5r   c                  T    [        S5      n [        R                  " S5      nX:X  d   eg )Nz1.7e+308gv;w0B)r	   r.   r  )r?   r@   s     r   #test_to_numeric_scientific_notationrH    s&    
#Fzz'"Hr   g  PeBg      Gc                 \    [        U /5      n[        USS9n[        R                  " X!5        g )Nr   r   r~   )r   r@   r?   s      r   4test_to_numeric_large_float_not_downcast_to_float_32rJ     s)     se}H73F6,r   z
val, dtype)rL   r1  r   r3  Tbooleanc                 x    [        U /[        S9n[        USS9n[        U /US9n[        R                  " X45        g )Nr8   numpy_nullabledtype_backendr9   )r   r3   r,   r?   r@   s        r   test_to_numeric_dtype_backendrS    s;    
 #f
%C+;<Fse5)H6,r   )rK  rL  rM  )rL   int64[pyarrow])r   float64[pyarrow])Tbool[pyarrow]c                     SU;   a  [         R                  " S5        SnOSn[        U S /[        S9n[	        X2S9n[        U [
        R                  /US9n[        R                  " XE5        g )NrC   rP  r8   rQ  	re   importorskipr   r:   r	   r   r9  r;   r<   )r   r3   rR  r,   r?   r@   s         r    test_to_numeric_dtype_backend_narZ    s`     EI&!(
#tF
+C9FsBEEl%0H6,r   zval, dtype, downcast))rL   r;  r4   )r   r=  r   )rL   r;  r   )rL   int8[pyarrow]r4   )r   zfloat[pyarrow]r   )rL   r[  r   c                     SU;   a  [         R                  " S5        SnOSn[        U S /[        S9n[	        XCUS9n[        U [
        R                  /US9n[        R                  " XV5        g )NrC   rP  r8   rR  r5   rX  )r   r3   r5   rR  r,   r?   r@   s          r   )test_to_numeric_dtype_backend_downcastingr^  +  sb     EI&!(
#tF
+C8LFsBEEl%0H6,r   zsmaller, dtype_backendrP  zuint8[pyarrow]c                     US:X  a  [         R                  " S5        [        S[        R                  /SS9n[        X!SS9n[        S[        R                  /U S9n[        R                  " X45        g )NrC   rL   r>  r8   r   r]  re   rY  r   r   r9  r	   r;   r<   )smallerrR  r,   r?   r@   s        r   .test_to_numeric_dtype_backend_downcasting_uintrb  C  s\     	!I&
!RUU8
,C:NFq"%%j0H6,r   )r1  r>  r3  rN  rT  zuint64[pyarrow]rU  rV  c                     SU ;   a  [         R                  " S5        [        S[        R                  /U S9n[        USS9n[        S[        R                  /U S9n[        R                  " X#5        g )NrC   rL   r8   rP  rQ  r`  )r3   r,   r?   r@   s       r   .test_to_numeric_dtype_backend_already_nullablerd  Q  s]     EI&
!RUU5
)C+;<Fq"%%j.H6,r   c                 z   [        / SQ5      nUR                  5       n[        R                  " [        SS9   [        XS9  S S S 5        [        XSS9nU S:X  a  SnOS	n[        [        R                  [        R                  [        R                  /US
9n[        R                  " X25        g ! , (       d  f       Nq= f)N)r   r   r   r!  ra   rQ  r   )rR  r   rC   zdouble[pyarrow]r3  r8   )
r   copyre   rf   rg   r	   r   r9  r;   r<   )rR  r,   r@   r?   r3   s        r   #test_to_numeric_dtype_backend_errorrg  h  s    

 CxxzH	z)A	B34 
C JF	!!ruubeeRUU+59H6, 
C	Bs   
B,,
B:c                      [        / SQ5      n Sn[        R                  " [        US9   [	        U SS9  S S S 5        g ! , (       d  f       g = f)Nr   zPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.ra   numpyrQ  rd   )r,   rh   s     r   test_invalid_dtype_backendrj  x  s<    

C	!  
z	-3g. 
.	-	-s	   =
Ac                     [         R                  " S5      n [        [        S5      [	        U R                  5       5      S9n[        USSS9n[        / SQ[	        U R                  5       5      S9n[        R                  " X#5        g )NrC   12xr8   r   )r   rR  )rL   r   N)
re   rY  r   rZ   r   r   r	   r   r;   r<   )par,   r?   r@   s       r   test_coerce_pyarrow_backendrn    s`    			Y	'B
eJryy{$;
<CHIFFl*RXXZ*@AH6,r   )nr   ri  r.   r   re   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   r   r   r   r   r	   pandas._testing_testingr;   fixturer   r   r   r"   r$   r&   assert_index_equalr<   ru   r2   r   parametrizer   r  rA   r   
skip_if_norN   r[   ri   rn   rl   rr   rw   rz   r   r   r   r/   r   r   r   r   r   r   r   r   r   r   r   r   	Timedelta	Timestampr   r   r   r   r   r3   float32charr   r   r   r   r  r   r  r  r  minr  r  r  r	  r
  r  r  r  r  r"  r'  r-  r0  r9  r7  r:  rD  rF  rH  rJ  rS  rZ  r^  rb  rd  rg  rj  rn  r   r   r   <module>r     sD       ) )    01 2 e}% & S)
E/BC D ,.CDE F e}% & 	')>)>?	("*@*@A	,b.I.IJ  	grxx !)	4w6HI-- UFLLR]]95MNO c1X.- /- 
!	(( 	LM);	
	(	(- A	Cbff%&
1
1/ 	*+	r"	"B'	22 WcNB#78- 9-  		c
	((  oof%s+W__U-CSIC[#s#	
 ((GOOF+S1
2C	8D#;:LM	(	(-! 04 14
@ LFH$ @	():: )c2661bff-E!FG H 	"((9G<=	 9:#### 
Q
_%
_6# 6	62663/01	1	145 

;?S  
RXX
d	RXX&
g	 4 9 9:
j	!288BLL9J,KA,N#OP2(2 *Y,AB

;?S/ C// %FG	BJJ?@=HHA	
/ H/ Xrxx0:ryy2IJ/	/ 	U277^//rww1C1CDE	)eBHHo115?3F3FGH	)eBHHo115?3F3FGH	)eBHHo115?3F3FGH	*uRXX22E"((O4G4GHI	:bii 0 4 4eBII6F6J6JKL	:bii 0 4 4eBII6F6J6JKL	:bii 0 4 4eBII6F6J6JKL	)eBGGn00%.2D2Dq2HIJ	)eBHHo115?3F3F3JKL	)eBHHo115?3F3F3JKL	)eBGGn0014eBHHo6I6IJK	)eBHHo11A5uRXX7J7JKL	)eBHHo11A5uRXX7J7JKL	:bhh 3 3U288_5H5H15LMN	:bii 0 4 4eBII6F6J6JQ6NOP	:bii 0 4 4eBII6F6J6JQ6NOP#,!-,!(-  8#rvvrvv';<	

 ;!:rvv6	
	--(  @A @A B B( /2f#g2f# 	61a-w?@	&':;	y89	&I>?	61beeS/CD	F;i@A
-
-- 1
Q)V,
ruuy)V4
sY	95
RUUWi0
sWi1
QIv.
((288

 
 1
$a	('9gF
Q(F+
sY&1
sY)4
RUUWh/
tgx1
((299

!
!A
%q	)8XxH
Q*g.
sY
G4
sY
I6
RUUWj'2
tgz73
b7J0
QGY/
S9gy1
QGY/
S9gy1/86986
6 x 89- :- E-- 

-

- 

-

-  #3Y"?@-	- 	--- /-r   