
    Owg(s                        d dl Z d dlZd dlmZ d dlZd dlmc mZ d dl	Z
d dl	mZmZmZmZmZmZ d dlmZ  ej(                  g d      d        Z ej(                  ddg      d	        Z ej(                  d
 egddg      d        Z ej(                  ddg      d        Z ej(                  ddg      d        Z ej(                  d ej6                  fd ej8                  fd ej:                  fg      d        Zej>                  jA                  di dejB                  ifddddejD                  ifg      d        Z#ej>                  jA                  dd ejH                  d ejJ                  d            g      ej>                  jA                  d d!d"g      d#               Z&ej>                  jA                  d$g d%g d&g d'g      d(        Z'ej>                  jA                  d)g d*d+fg d,d-fg      d.        Z(ej>                  jA                  d/d0g d*fdd1d2ejR                  gfg      ej>                  jU                  d3      d4               Z+ej>                  jA                  d5d6d0g d7fdd8d9ejR                  gfg      ej>                  jU                  d3      d:               Z,d; Z-ej>                  jA                  d<g d%dejB                  ifg d&i fg d'i fg      d=        Z.ej>                  jA                  d>dd?ii g      d@        Z/ej>                  jA                  dAdBdBdCgg      dD        Z0ej>                  jA                  dE e jb                  dF      d8g e jb                  dG      dHgdFd8gdGdHgf ejd                   e jb                  dF      d8g      dHgdFd8gdHgfg      dI        Z3dJ Z4ej>                  jU                  d3      dK        Z5ej>                  jA                  dLg dM      dN        Z6ej>                  jU                  d3      dO        Z7ej>                  jU                  d3      dP        Z8ej>                  jU                  d3      dQ        Z9ej>                  jA                  dRdSd0dT fddU fg      ej>                  jU                  d3      dV               Z:ej>                  jA                  d$g dWd8ejR                  dXejR                  gg      dY        Z;ej>                  jA                  dZg d[ ejd                  g dWd\]      fg d^ ejd                  g d_      fg      d`        Z<da Z=db Z>dc Z?ej>                  jA                  ddded0 edfdggd8dhg      fd eejR                  d8ejR                  g      fg      ej>                  jU                  d3      di               Z@dj ZAdk ZBej>                  jA                  d$g dlg dW ejd                  g dmdn]      g      ej>                  jA                  doi ejB                  fdpdiejB                  fdpdqi ej                  ej                        j                  fdpdri ej                  ej                  ds   d          fg      dt               ZGej>                  jA                  duddvg      ej>                  jA                  d$g dlg dW ejd                  g dmdn]      g      dw               ZHdx ZIdy ZJej>                  jU                  dz      ej>                  jA                  dpg d{      ej>                  jA                  d|g d} ejd                  g d~ej                  ]      fg d ejd                  g dej                  ]      fg      d                      ZLej>                  jA                  ddej                  fdvej                  fdrej                  fg      d        ZOej>                  jA                  ddd eejD                        j                   eejD                        j                  gfdd eej                        j                   eej                        j                  gfdd eej                        j                   eej                        j                  gfd\d eejB                        j                   eejB                        j                  gfddr eej                        j                   eej                        j                  gfddr eej                        j                   eej                        j                  gfddr eej                        j                   eej                        j                  gfddr eej                        j                   eej                        j                  gfdd eejD                        j                   eejD                        j                  d1z   gfdd eej                        j                   eej                        j                  d1z   gfd\d eej                        j                   eej                        j                  d1z   gfdd eejD                        j                  d1z
   eej                        j                  gfdd eej                        j                  d1z
   eej                        j                  gfd\d eej                        j                  d1z
   eejB                        j                  gfddr eej                        j                   eej                        j                  d1z   gfddr eej                        j                   eej                        j                  d1z   gfddr eej                        j                   eej                        j                  d1z   gfg      d        ZVd ZWej>                  jA                  d ed dg       ed dgej                  ]      fg      d        ZXej>                  jA                  dEg dddejR                  ejR                  dgfg dddejR                  gfg      d        ZYej>                  jA                  d5d0 eg d      fdg      ej>                  jU                  d3      d               ZZej>                  jA                  dg d      ej>                  jA                  dg d      d               Z[d Z\ej>                  jA                  dg d      d        Z]ej>                  jA                  dg d ed1dgejR                  gd]      fg d[ eg dWd]      fg d eg dWd]      fg d eg dd]      fg d ed1ejR                  dgd]      fg d eg dd]      fg      d        Z^d Z_d Z`ej>                  jA                  dd1d1gdddfd8e
j                  gdddfd8dgdddfd1e
j                  gdddfddgdddfd1d1gdddf ej                  ejB                        j                  d1z
  d1gdddfd1d1gddvdfd8d8gddvdfd8dgddvdfd1e
j                  gddvdfddgddvdf ej                  ej                        j                  d1z
  d1gddvdfd1d1gddrdfd8d8gddrdfd8dgddrdfd1e
j                  gddrdfddgddrdfddgddrdfd1d1gddqdfd1dgddqdfd1d1gddqdfd1dgddqdff      d        Zbd Zcd Zdej>                  jA                  dLddg      d        Zeej>                  jA                  dg d      d        Zfej>                  jA                  dg dâ      dĄ        Zgej>                  jA                  dg dƢ      dǄ        Zhej>                  jA                  dddgddgg      d˄        Ziej>                  jA                  dg d̢      d̈́        Zjd΄ Zkdτ ZldЄ Zmy)    N)iinfo)
ArrowDtype	DataFrameIndexSeriesoption_context
to_numeric)Nignoreraisecoerce)paramsc                     | j                   S Nparamrequests    Y/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/tools/test_to_numeric.pyerrorsr          ==    TFc                     | j                   S r   r   r   s    r   signedr      r   r   c                     | S r    xs    r   <lambda>r      s    ! r   identitystr)r   idsc                     | j                   S r   r   r   s    r   	transformr#      r   r   l   N"2) l      Fx:^V c                     | j                   S r   r   r   s    r   	large_valr%   $   r   r   c                     | j                   S r   r   r   s    r   multiple_eltsr'   )   r   r   c                     t        | d      S )Nidxname)r   r   s    r   r   r   0   s    5' r   c                     t        | d      S )Nserr*   )r   r   s    r   r   r   1   s    6!%( r   c                 R    t        j                  t        |       j                        S r   )nparrayr   valuesr   s    r   r   r   2   s    288E!HOO, r   c                     | j                   S r   r   r   s    r   transform_assert_equalr3   .   s     ==r   zinput_kwargs,result_kwargsdtyper   integerr   downcastc                     t        g t              }t        |fi | }t        g fi |}t        j                  ||       y Nr4   r   objectr	   tmassert_series_equal)input_kwargsresult_kwargsr-   resultexpecteds        r   
test_emptyrC   9   s>     6
"C,|,Fb*M*H68,r   infer_stringpyarrow)markslast_val7   c                     t        d|      5  t        dd| g      }t        |      }d d d        t        g d      }t        j                  |       y # 1 sw Y   -xY w)Nzfuture.infer_string1-3.14   Q	rI   )r   r   r	   r=   r>   )rG   rD   r-   rA   rB   s        r   test_seriesrP   I   sZ    
 
-|	< !c7H-.C! m$H68,! !s   AAdata)rN            )      ?      @      @g      @)TFTTc                 t    t        | t        d      d      }t        |      }t        j                  ||       y )NABCDEFG)indexr+   )r   listr	   r=   r>   )rQ   r-   rA   s      r   test_series_numericr]   V   s/     T&\
6C_F63'r   zdata,msgrN   rO   apple,Unable to parse string "apple" at position 2)orangerN   rO   r_   z-Unable to parse string "orange" at position 0c                     t        |       }t        j                  t        |      5  t	        |d       d d d        y # 1 sw Y   y xY w)Nmatchr   r   r   pytestraises
ValueErrorr	   )rQ   msgr-   s      r   
test_errorrk   f   s:     ,C	z	- (3w'( ( (s	   >Azerrors,exp_datar
   rN   rO   z2ignore:errors='ignore' is deprecated:FutureWarningc                 z    t        g d      }t        ||       }t        |      }t        j                  ||       y )Nr^   re   r   r	   r=   r>   )r   exp_datar-   rA   rB   s        r   test_ignore_errorro   w   s5    
 $
%CF+FhH68,r   z
errors,exp)r   r`   TFr_   rU   g        c                    t        g d      }t        |t              r2t        j                  t
        |      5  t        ||        d d d        y t        ||       }t        |      }t        j                  ||       y # 1 sw Y   y xY w)Nrp   rc   re   	r   
isinstancer    rg   rh   ri   r	   r=   r>   )r   expr-   rA   rB   s        r   test_bool_handlingru      sr     '
(C#s]]:S1 	+s6*	+ 	+ C/#;
vx0	+ 	+s   A??Bc                  |    g d} t        |       }t        j                  g d      }t        j                  ||       y )N)rK   rL   rH   rM   r	   r/   r0   r=   assert_numpy_array_equal)r-   resrB   s      r   	test_listrz      s.    
C
S/Cxx&HX.r   zdata,arr_kwargsc                 r    t        |       }t        j                  | fi |}t        j                  ||       y r   rw   )rQ   
arr_kwargsrA   rB   s       r   test_list_numericr}      s1     Fxx+
+H1r   kwargsOc                 |    g d}t        |fi | }t        |      }t        |      }t        j                  ||       y )NrM   rm   )r~   rQ   r-   rA   rB   s        r   test_numericr      s8    D

 
 C_Fd|H68,r   columnsabc                 >   t        dt        j                  d      t        j                  d      dgg dd      }t        ddt        j                  dgg dd      }|j                         }||    j                  t              || <   t        j                  ||       y )Ng333333?Q	@infinityz0.1)rU   g       @rV   rW   r   r   皙?)
r   decimalDecimalr/   infcopyapplyr	   r=   assert_frame_equal)r   dfrB   df_copys       r   test_numeric_df_columnsr      s     
wt,gooj.I5Q%	

B T26637>RSTHggiGw'--j9GG'8,r   zdata,exp_datar   g?r   c                     t        d| i      }|d   j                  t              |d<   t        d|i      }t        j                  ||       y )Nr   )r   r   r	   r=   r   )rQ   rn   r   rB   s       r   test_numeric_embedded_arr_likesr      sF     
C;	BgmmJ'BsG#x)H"h'r   c                      t        g d      } t        | d      }t        t        j                  t        j                  t        j                  g      }t	        j
                  ||       y )N)r   r   cr   re   )r   r	   r/   nanr=   r>   )r-   rA   rB   s      r   test_all_nanr      sE    

!CH-Frvvrvvrvv./H68,r   c                     t        g dg dd      }| d| ini }t        j                  t        d      5  t	        |fi | d d d        y # 1 sw Y   y xY w)NrM   )456r   r   z	1-d arrayrc   )r   rg   rh   	TypeErrorr	   )r   r   r~   s      r   test_type_checkr      sT     
_=	>B#)#5h2F	y	4 !2  ! ! !s   AAval)rN   皙?i!N  c                 P    |r|  n| } t         ||             t        |       k(  sJ y r   r	   float)r   r   r#   s      r   test_scalarr      s(    3$cCin%s333r   c                 D   |d|ini }|r|  n| } ||      }t        |t              }|r7|dv r3d}t        j                  t        |      5  t        |fi | d d d        y |dk(  r|rt        |      n|}t        j                  t        |fi ||       y # 1 sw Y   y xY w)Nr   Nr   #Integer out of range. at position 0rc   r   )	rs   r    rg   rh   ri   r	   r   r=   assert_almost_equal)	r%   r   r#   r   r~   r   val_is_stringrj   rB   s	            r   test_really_large_scalarr      s     $*#5h2F9*IC
C.CsC(M?23]]:S1 	&s%f%	& 	& #)H"45:S
z#88(C		& 	&s   BBc                 j   |d|ini }|r|  n| } ||      }d}|g||gz  z   }t        |t              }	|dk(  }
|dv r<|	s|r8|	rd}nd}t        j                  t        |      5  t        |fi | d d d        y t        |fi |}|
r|	rt        |      n|}|g}|r@|
r&|j                  t        j                         t        }n:|j                  |       t        }n"t        |t        t        f      rt        nt        }t        j                  |t        j                  ||             y # 1 sw Y   y xY w)	Nr   stringr   r   r   z-Unable to parse string "string" at position 1rc   r:   )rs   r    rg   rh   ri   r	   r   appendr/   r   r<   intr=   r   r0   )r%   r   r#   r'   r   r~   r   	extra_eltarrr   coercingrj   rA   exp_valrB   	exp_dtypes                   r   test_really_large_in_arrr     s'    $*#5h2F9*IC
C.CI%-9+-
-CsC(M!H m}7CAC]]:S1 	&s%f%	& 	& C*6*!)m%*#9'!		*"	!+Gc5\!BI
vrxx	'JK%	& 	&s   #D))D2c                    |d|ini }t        |r|  n|       g}|r|j                  d|        |dv rAt        |      }d| }t        j                  t
        |      5  t        |fi | d d d        y t        |fi |}|dk(  r|D 	cg c]  }	t        |	       }
}	t        }n|}
t        }t        j                  |t        j                  |
|             y # 1 sw Y   y xY wc c}	w )Nr   r   r   z"Integer out of range. at position rc   r   r:   )r    insertr   rg   rh   ri   r	   r   r<   r=   r   r/   r0   )r%   r   r'   r   r~   r   r[   rj   rA   irB   r   s               r   #test_really_large_in_arr_consistentr   :  s     $*#5h2FV	z3
4C

1i  M"25':]]:S1 	&s%f%	& 	& C*6*X*-.Qa.H.IHI
vrxx	'JK	& 	& /s   CC#C zerrors,checker)r   z+Unable to parse string "fail" at position 0c                     | dk(  S )Nfailr   r   s    r   r   r   ]  s
    Q&[ r   c                 ,    t        j                  |       S r   )r/   isnanr   s    r   r   r   ^  s    RXXa[ r   c                     d}t        |t              r2t        j                  t        |      5  t        ||        d d d        y  |t        ||             sJ y # 1 sw Y   y xY w)Nr   rc   re   )rs   r    rg   rh   ri   r	   )r   checkerscalars      r   test_scalar_failr   Y  s\     F'3]]:W5 	.vf-	. 	. z&8999	. 	.s   AA$rN      rR   rR   c                 F    |\  }} ||       } t        |       } |||        y r   r	   )rQ   r3   r#   assert_equalrA   s        r   test_numeric_dtypesr   l  s)    4I|T?DFr   zdata,exp)rK   23int64r:   )z1.5z2.7z3.4)      ?g@g333333@c                 R    |\  }}t         ||             } ||      } |||       y r   r   )rQ   rt   r3   r#   r   rA   rB   s          r   test_strr   u  s/     5I|	$(F~H"r   c                     |\  }}t        j                  dd|       }t         ||            } ||j                        } |||       y )N20130101rR   )periodstz)pd
date_ranger	   asi8)tz_naive_fixturer3   r#   r   r)   rA   rB   s          r   test_datetime_liker     sE    4I|
--
A2B
CC	#'F"H"r   c                     | \  }}t        j                  ddd      }t         ||            } ||j                        } |||       y )Nz1 daysrR   D)r   freq)r   timedelta_ranger	   r   )r3   r#   r   r)   rA   rB   s         r   test_timedeltar     sF    4I|


Xqs
;C	#'F"H"r   c                    |\  }}t        j                  dddd      } ||      }t        |t              s/| j	                  t
        j                  j                  d             t        |      } ||j                        } |||       y )Nz2011-01rR   M )r   r   r+   z)Missing PeriodDtype support in to_numeric)reason)
r   period_rangers   r   applymarkerrg   markxfailr	   r   )r   r3   r#   r   r)   inprA   rB   s           r   test_periodr     sz    4I|
//)QSr
BC
C.Cc5!KK%PQ	
 _F"H"r   zerrors,expected)r   z!Invalid object type at position 0      $@r   r_   c                    t        ddgddg      }t        |t              r2t        j                  t
        |      5  t        ||        d d d        y t        ||       }t        j                  ||       y # 1 sw Y   y xY w)Nr   r   rU   r_   rc   re   )	r   rs   r    rg   rh   r   r	   r=   r>   )r   rB   r-   rA   s       r   test_non_hashabler     ss     4)S'*
+C(C ]]9H5 	+s6*	+ 	+ C/
vx0		+ 	+s   A77B c                      g d} d}d}t        j                  t        |      5  t        | |       d d d        y # 1 sw Y   y xY w)NrK   r   rR   zunsigned-integerz#invalid downcasting method providedrc   r7   rg   rh   ri   r	   )rQ   invalid_downcastrj   s      r   test_downcast_invalid_castr     s@    D)
/C	z	- 44"234 4 4	   ;Ac                      g d} d}d}t        j                  t        |      5  t        | |       d d d        y # 1 sw Y   y xY w)Nr   invalidzinvalid error value specifiedrc   re   r   )rQ   invalid_error_valuerj   s      r   test_errors_invalid_valuer     s@    D#
)C	z	- 54 345 5 5r   r   )z
1970-01-02z
1970-01-03z
1970-01-04zdatetime64[D]zkwargs,exp_dtyper7   r   unsignedUnsignedIntegerc                 z    t        | fi |}t        j                  g d|      }t        j                  ||       y )Nr   r:   rw   )rQ   r~   r   rA   rB   s        r   test_downcast_basicr     s3    , ''Fxx	3H1r   signed_downcastr   c                     t        j                  t         j                  d   d         }t        j                  g d|      }t	        | |      }t        j                  ||       y )NIntegerr   r   r:   r   )r/   r4   	typecodesr0   r	   r=   rx   )rQ   r   smallest_int_dtyperB   ry   s        r   test_signed_downcastr     sN     ",,y"9!"<=xx	);<H
TO
4CX.r   c                      g d} t        j                  | t              }d}t        j                  t
        |      5  t        | dd      }d d d        t        j                  |       y # 1 sw Y    xY w)N)foor   rR   r:   errors='ignore' is deprecatedrc   r
   r   r6   )r/   r0   r<   r=   assert_produces_warningFutureWarningr	   rx   )rQ   rB   rj   ry   s       r   !test_ignore_downcast_invalid_datar    se     DxxF+H
)C		#	#M	= EhDEX.E Es   A++A4c                      g d} t        j                  g dt         j                        }t        | d      }t	        j
                  ||       y )N)z-1r   rR   )r   rR   r:   r   r   )r/   r0   r   r	   r=   rx   )rQ   rB   ry   s      r   $test_ignore_downcast_neg_to_unsignedr    s9     Dxx
"((3H
TJ
/CX.r   z7ignore:invalid value encountered in cast:RuntimeWarning)r5   r   r   zdata,expected)z1.1r   rR   )r   r   rR   )g     @i N  i  gR@iP  g     j@c                 J    t        | |      }t        j                  ||       y Nr   )r	   r=   rx   )rQ   rB   r7   ry   s       r   )test_ignore_downcast_cannot_convert_floatr    s     " TH
-CX.r   zdowncast,expected_dtypec                     g d}t        j                  g d|      }t        ||       }t        j                  ||       y )N)256    )   r  r  r:   r   )r/   r0   r	   r=   rx   )r7   expected_dtyperQ   rB   ry   s        r   test_downcast_not8bitr  (  s5     Dxx~>H
TH
-CX.r   zdtype,downcast,min_maxint8int16int32uint8uint16uint32uint64c                 R    t        t        |      |      }|j                  | k(  sJ y r  )r	   r   r4   )r4   r7   min_maxseriess       r   test_downcast_limitsr  5  s&    0 w(;F<<5   r   c                     t        dt        j                  t        j                        j                  t        j
                  gt        j                        } t        | d      }| j                  |j                  k(  sJ y )Ng     pAr:   r   r   )r   r/   finfofloat64maxr   r	   r4   )r  rA   s     r    test_downcast_float64_to_float32r  Q  sR    Z"**!5!9!9266B"**UF1F<<6<<'''r   zser,expectedl            c                 J    t        | d      }t        j                  ||       y )Nr   r   )r	   r=   r>   )r-   rB   rA   s      r   test_downcast_uint64r!  Y  s      j1F68,r   )   ,  r   NaN     p;6$ r"  r#  r%  12345678901234567890
1234567890ITEMl   
>V3&Z
 iIc                 ~    t        t        |       d      }t        |t              }t        j                  ||       y )Nr   re   r:   )r	   r   r   r=   r>   )rQ   rn   rA   rB   s       r   test_coerce_uint64_conflictr+  k  s0    $ tX6Fhe,H68,r   )r   Unable to parse stringc                     t        g d      }t        |t              r2t        j                  t
        |      5  t        ||        d d d        y t        ||       }t        j                  ||       y # 1 sw Y   y xY w)Nr&  rc   re   rr   )r   rt   r-   rA   s       r   test_non_coerce_uint64_conflictr.    si     ?
@C#s]]:S1 	+s6*	+ 	+ C/
vs+		+ 	+s   A44A=dc1)r5   r   r   dc2c                 `    t        j                  t        g |       t        g |      d       y )Nr   F)check_dtype)r=   rx   r	   )r/  r0  s     r   test_downcast_emptyr3    s)    
 2$2$r   c                      t        dd      } t        j                  |       sJ t        ddt        j                  g      }t        t        g d      d      } t        j                  | |       y )Nr  r   re       @   )3264r  )r	   r/   r   r   r   r=   r>   )rA   r-   s     r   ,test_failure_to_convert_uint64_string_to_NaNr9    sW    2F88F
"b"&&!
"C56xHF63'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                 :    t        |       }|t        |       k(  sJ y r   r   )r:  rA   s     r   test_precision_float_conversionr<    s!    j FU6]"""r   zvalues, expected)rK   r   NInt64)rK   r   rR   )rK   r         @)rN   r   r>  Float64)rK   Nr>  r>  )rK   r   z3.5c                 `    t        | |      }t        |      }t        j                  ||       y r9   rm   )r1   nullable_string_dtyperB   srA   s        r   $test_to_numeric_from_nullable_stringrC    s*     	v23A]F68,r   c                     ddg}t        ||       }t        |d      }t        t        j                  dgd      }t	        j
                  ||       y )Nr   rK   r:   r   re   rN   r=  )r   r	   r   NAr=   r>   )rA  r1   r-   rA   rB   s        r   +test_to_numeric_from_nullable_string_coercerF    sH    3ZF
4
5CH-Fruuaj0H68,r   c                     ddg}t        ||       }|j                         }d}t        j                  t        |      5  t        |d      }d d d        t        j                  |       y # 1 sw Y    xY w)Nr   rK   r:   r   rc   r
   re   )r   r   r=   r   r  r	   r>   )rA  r1   r-   rB   rj   rA   s         r   +test_to_numeric_from_nullable_string_ignorerH    si    3ZF
4
5CxxzH
)C		#	#M	= 2C1268,2 2s   A,,A5z+data, input_dtype, downcast, expected_dtypeInt8r   i  Int16Float32iUInt64UInt8r  Int32c                     t        j                  | |      }t        ||      }t        j                  | |      }t        j                  ||       y )Nr:   r   )r   r0   r	   r=   assert_extension_array_equal)rQ   input_dtyper7   r  r   rA   rB   s          r   test_downcast_nullable_numericrR    s@    : ((4{
+Ch/FxxN3H##FH5r   c                  <   t        j                  ddt         j                  gd      } t        | d      }t        j                  ddt         j                  gd      }t	        j
                  ||       t         j                  | d<   t	        j
                  ||       y )NrN   r   r=  r:   r5   r   rI  )r   r0   rE  r	   r=   rP  )r   rA   rB   s      r   %test_downcast_nullable_mask_is_copiedrT  1  sq     ((Aq"%%=
0Ci0FxxAruuV4H##FH5UUCF##FH5r   c                  R    t        d      } t        j                  d      }| |k(  sJ y )Nz1.7e+308gv;w0B)r	   r/   r  )rA   rB   s     r   #test_to_numeric_scientific_notationrV  >  s(    
#Fzz'"HXr   g  PeBg      Gc                 b    t        | g      }t        |d      }t        j                  ||       y )Nr   r   rm   )r   rB   rA   s      r   4test_to_numeric_large_float_not_downcast_to_float_32rX  E  s+     se}H73F68,r   z
val, dtype)rN   r=  r   r?  Tbooleanc                     t        | gt              }t        |d      }t        | g|      }t        j                  ||       y )Nr:   numpy_nullabledtype_backendr;   )r   r4   r-   rA   rB   s        r   test_to_numeric_dtype_backendra  M  s=    
 #f
%C+;<Fse5)H68,r   )rY  rZ  r[  )rN   int64[pyarrow])r   float64[pyarrow])Tbool[pyarrow]c                     d|v rt        j                  d       d}nd}t        | d gt              }t	        ||      }t        | t
        j                  g|      }t        j                  ||       y )NrE   r^  r:   r_  	rg   importorskipr   r<   r	   r   rE  r=   r>   )r   r4   r`  r-   rA   rB   s         r    test_to_numeric_dtype_backend_narh  X  sd     EI&!(
#tF
+C=9FsBEEl%0H68,r   zval, dtype, downcast))rN   rI  r5   )r   rK  r   )rN   rI  r   )rN   int8[pyarrow]r5   )r   zfloat[pyarrow]r   )rN   ri  r   c                     d|v rt        j                  d       d}nd}t        | d gt              }t	        |||      }t        | t
        j                  g|      }t        j                  ||       y )NrE   r^  r:   r`  r7   rf  )r   r4   r7   r`  r-   rA   rB   s          r   )test_to_numeric_dtype_backend_downcastingrl  p  sf     EI&!(
#tF
+C=8LFsBEEl%0H68,r   zsmaller, dtype_backendr^  zuint8[pyarrow]c                     |dk(  rt        j                  d       t        dt        j                  gd      }t        ||d      }t        dt        j                  g|       }t        j                  ||       y )NrE   rN   rL  r:   r   rk  rg   rg  r   r   rE  r	   r=   r>   )smallerr`  r-   rA   rB   s        r   .test_to_numeric_dtype_backend_downcasting_uintrp    s`     	!I&
!RUU8
,C=:NFq"%%j0H68,r   )r=  rL  r?  r\  rb  zuint64[pyarrow]rc  rd  c                     d| v rt        j                  d       t        dt        j                  g|       }t        |d      }t        dt        j                  g|       }t        j                  ||       y )NrE   rN   r:   r^  r_  rn  )r4   r-   rA   rB   s       r   .test_to_numeric_dtype_backend_already_nullablerr    s_     EI&
!RUU5
)C+;<Fq"%%j.H68,r   c                 4   t        g d      }|j                         }t        j                  t        d      5  t        ||        d d d        d}t        j                  t        |      5  t        || d      }d d d        t        j                  |       t        || d      }| d	k(  rd
}nd}t        t        j                  t        j                  t        j                  g|      }t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   xY w)N)r   r   r   r,  rc   r_  r   r
   )r`  r   r   rE   zdouble[pyarrow]r?  r:   )r   r   rg   rh   ri   r	   r=   r   r  r>   r/   r   )r`  r-   rB   rj   rA   r4   s         r   #test_to_numeric_dtype_backend_errorrt    s    

 CxxzH	z)A	B 53m45 *C		#	#M	= OC}XNO68,=JF	!!rvvrvvrvv.e<H68,5 5O Os   D,DDDc                      t        g d      } d}t        j                  t        |      5  t	        | d       d d d        y # 1 sw Y   y xY w)Nr   zPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.rc   numpyr_  rf   )r-   rj   s     r   test_invalid_dtype_backendrw    sE    

C	!  
z	- /3g./ / /s   AAc                     t        j                  d      } t        t        d      t	        | j                                     }t        |dd      }t        g dt	        | j                                     }t        j                  ||       y )NrE   12xr:   r   )r   r`  )rN   r   N)
rg   rg  r   r\   r   r   r	   r   r=   r>   )par-   rA   rB   s       r   test_coerce_pyarrow_backendr{    sb    			Y	'B
eJryy{$;
<CHIFFl*RXXZ*@AH68,r   )nr   rv  r/   r   rg   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>   rx   r3   r   parametrizer   r  rC   r   
skip_if_norP   r]   rk   r   filterwarningsro   ru   rz   r}   r   r   r   r0   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r4   float32charr   r   r   r  r  r  r  r  r  r  minr  r  r  r  r  r  r  r!  r+  r.  r3  r9  r<  rC  rF  rH  rE  rR  rT  rV  rX  ra  rh  rl  rp  rr  rt  rw  r{  r   r   r   <module>r     s9       ) )    :; < e}% & S)
E/BC D ,.CDE F e}% & 	')>)>?	("*@*@A	,b.I.IJ  	grxx !)	4w6HI-- ULFLL]R]]95MNO c1X.- /- 
!	(( 	LM);	
	(	( #67(QrvvDV9WX PQ- R- A	)*	Cbff%&	 PQ
1 R
1/ 	*+	r"	"B'	22 WcNB#78- 9-  		c
	--"  good#S)?7??3+?EC[#s#	
 "((OGOOD)3/
0#	6$c8JK	(	(- PQ! R! 04 14
 PQD RD" PQ$L R$LN PQL RL< @	()	() PQ: R: )c2661bff-E!FG H 	("((9G<=	 9:##### 6	6D!9c7345	62663/01 PQ	1 R	145 
;?S  
RXX
d	RXX&
g	 4 9 9:
j	!8288BLL9J,KA,N#OP2(2 *Y,AB
;?S/ C/
// UV%FG	BJJ?@=BHHA	
/ H W/ 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#,!-,!(  A*+,A*+299=	
--  8#rvvrvv';<	

 ;!:rvv6	
	-- 	6HIJ+ PQ, R,  @A @A B B( /2f#g2f# 	61a.@A	&':;	y89	&I>?	61bffc"2)DE	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   