
    Pigg                     $   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j        fd ej        fd ej        fg          d             Zej                             di dej!        ifddddej"        ifg          d             Z#ej                             dd ej$        d ej%        d                    g          ej                             d d!d"g          d#                         Z&ej                             d$g d%g d&g d'g          d(             Z'ej                             d)g d*d+fg d,d-fg          d.             Z(d/ Z)ej                             d0d1dd2d3ej*        gfg          d4             Z+d5 Z,ej                             d6g d%dej!        ifg d&i fg d'i fg          d7             Z-ej                             d8dd9ii g          d:             Z.ej                             d;d<d<d=gg          d>             Z/ej                             d? e j0        d@          d2g e j0        dA          dBgdCd2gdDdBgf ej1         e j0        d@          d2g          dBgdCd2gdBgfg          dE             Z2dF Z3dG Z4ej                             dHg dI          dJ             Z5dK Z6dL Z7dM Z8ej                             dNdOddP fg          dQ             Z9ej                             d$g dRd2ej*        dSej*        gg          dT             Z:ej                             dUg dV ej1        g dRdWX          fg dY ej1        g dZ          fg          d[             Z;d\ Z<d] Z=ej                             d^ e
j>        d_d`           e
j?        da           e
j?        dadbc          g          dd             Z@de ZAej                             dfdgd eej*        d2ej*        g          fg          dh             ZBdi ZCdj ZDej                             d$g dkg dR ej1        g dldmX          g          ej                             dni ej!        fdodiej!        fdodpi ejE        ejF                  jG        fdodqi ejE        ejH        dr         d                    fg          ds                         ZIej                             dtddug          ej                             d$g dkg dR ej1        g dldmX          g          dv                         ZJdw ZKej                             dog dx          ej                             dyg dz ej1        g d{ejL        X          fg d| ej1        g d|ejL        X          fg          d}                         ZMej                             d~dejN        fduejN        fdqejO        fg          d             ZPej                             ddd eej"                  jQ         eej"                  jR        gfdd eejN                  jQ         eejN                  jR        gfdd eejS                  jQ         eejS                  jR        gfdWd eej!                  jQ         eej!                  jR        gfddq eejT                  jQ         eejT                  jR        gfddq eejO                  jQ         eejO                  jR        gfddq eejU                  jQ         eejU                  jR        gfddq eejV                  jQ         eejV                  jR        gfdd eej"                  jQ         eej"                  jR        d_z   gfdd eejN                  jQ         eejN                  jR        d_z   gfdWd eejS                  jQ         eejS                  jR        d_z   gfdd eej"                  jQ        d_z
   eejN                  jR        gfdd eejN                  jQ        d_z
   eejS                  jR        gfdWd eejS                  jQ        d_z
   eej!                  jR        gfddq eejT                  jQ         eejT                  jR        d_z   gfddq eejO                  jQ         eejO                  jR        d_z   gfddq eejU                  jQ         eejU                  jR        d_z   gfg          d             ZWd ZXd ZYej                             d?g dddej*        ej*        dgfg dddej*        gfg          d             ZZd Z[ej                             dg d          ej                             dg d          d                         Z\d Z]ej                             dg d          d             Z^ej                             dg d ed_de
j_        gdX          fg dV eg dRdX          fg d eg dRdX          fg d eg ddX          fg d ed_e
j_        dgdX          fg d eg ddX          fg          d             Z`d Zaej                             dd_d_gdddfd2e
j_        gdddfd2dgdddfd_e
j_        gdddfddgdddfd_d_gdddf ej        ej!                  jR        d_z
  d_gdddfd_d_gddudfd2d2gddudfd2dgddudfd_e
j_        gddudfddgddudf ej        ejV                  jR        d_z
  d_gddudfd_d_gddqdfd2d2gddqdfd2dgddqdfd_e
j_        gddqdfddgddqdfddgddqdfd_d_gddpdfd_dgddpdfd_d_gddpdfd_dgddpdff          d             Zbd Zcd Zdej                             dHddg          d             Zeej                             dg d          d             Zfej                             dg d          d             Zgej                             dg d          d             Zhej                             dddgddgg          dń             Ziej                             dg dƢ          dǄ             ZjdȄ ZkdɄ Zldʄ ZmdS )    N)iinfo)
ArrowDtype	DataFrameIndexSeriesoption_context
to_numeric)Nraisecoerce)paramsc                     | j         S Nparamrequests    v/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/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                 N    t          j        t          |           j                  S r   )nparrayr   valuesr   s    r   r   r   2   s    28E!HHO,, r   c                     | j         S r   r   r   s    r   transform_assert_equalr2   .   s     =r   zinput_kwargs,result_kwargsdtyper   integer)r   downcastc                     t          g t                    }t          |fi | }t          g fi |}t          j        ||           d S Nr3   r   objectr	   tmassert_series_equal)input_kwargsresult_kwargsr,   resultexpecteds        r   
test_emptyrA   9   sY     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            n# 1 swxY w Y   t          g d          }t          j        ||           d S )Nzfuture.infer_string1-3.14   Q	rG   )r   r   r	   r;   r<   )rE   rB   r,   r?   r@   s        r   test_seriesrN   I   s    
 
-|	<	< ! !c7H-..C! ! ! ! ! ! ! ! ! ! ! ! ! ! ! mmm$$H68,,,,,s   "?AAdata)rL            )      ?      @      @g      @)TFTTc                     t          | t          d          d          }t          |          }t          j        ||           d S )NABCDEFG)indexr*   )r   listr	   r;   r<   )rO   r,   r?   s      r   test_series_numericr[   V   sB     T&\\
6
6
6C__F63'''''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                     t          |           }t          j        t          |          5  t	          |d           d d d            d S # 1 swxY w Y   d S )Nmatchr
   r   r   pytestraises
ValueErrorr	   )rO   msgr,   s      r   
test_errorri   f   s     ,,C	z	-	-	- ( (3w''''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (s   A

AAc                      t          g d          } t          | d          }t          ddt          j        g          }t	          j        ||           d S )Nr\   r   rc   rL   rM   r   r	   r.   nanr;   r<   r,   r?   r@   s      r   test_ignore_errorrn   w   sW    
$$$
%
%CH---Fq%())H68,,,,,r   z
errors,exp)r
   r^   rS   g        c                 J   t          g d          }t          |t                    rGt          j        t
          |          5  t          ||            d d d            d S # 1 swxY w Y   d S t          ||           }t          |          }t          j        ||           d S )N)TFr]   ra   rc   )	r   
isinstancer   re   rf   rg   r	   r;   r<   )r   expr,   r?   r@   s        r   test_bool_handlingrr      s     '''
(
(C#s 1]:S111 	+ 	+s6****	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ C///#;;
vx00000s   A!!A%(A%c                      g d} t          |           }t          j        g d          }t          j        ||           d S )N)rI   rJ   rF   rK   r	   r.   r/   r;   assert_numpy_array_equal)r,   resr@   s      r   	test_listrw      sD    


C
S//Cx&&HX.....r   zdata,arr_kwargsc                 r    t          |           }t          j        | fi |}t          j        ||           d S r   rt   )rO   
arr_kwargsr?   r@   s       r   test_list_numericrz      sA     Fx++
++H11111r   kwargsOc                     g d}t          |fi | }t          |          }t          |          }t          j        ||           d S )NrK   r   r	   r;   r<   )r{   rO   r,   r?   r@   s        r   test_numericr      sO    ==D

 
 
 
 C__Fd||H68,,,,,r   columnsabc                 2   t          dt          j        d          t          j        d          dgg dd          }t          ddt          j        dgg dd          }||                              t                    || <   t          j        ||           d S )	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      s     
wv..
0K0KUS%%%	
 	

 
B T2637>R>R>RSSTTHW+##J//BwK"h'''''r   zdata,exp_datar   z1.6r   r   g?c                     t          d| i          }|d                             t                    |d<   t          d|i          }t          j        ||           d S )Nr   )r   r   r	   r;   r   )rO   exp_datar   r@   s       r   test_numeric_embedded_arr_likesr      sX     
C;		BgmmJ''BsG#x))H"h'''''r   c                      t          g d          } t          | d          }t          t          j        t          j        t          j        g          }t	          j        ||           d S )N)r   r   cr   rc   rk   rm   s      r   test_all_nanr      sX    

!
!CH---Frvrvrv.//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            d S # 1 swxY w Y   d S )NrK   )456r   r   z	1-d arrayra   )r   re   rf   	TypeErrorr	   )r   r   r{   s      r   test_type_checkr      s    	___==	>	>B#)#5h2F	y	4	4	4 ! !2     ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s   AAAval)rL   皙?i!N  c                 j    |r|  n| } t           ||                     t          |           k    sJ d S r   r	   float)r   r   r"   s      r   test_scalarr      s?    
!3$$cCiinn%%s333333r   c                     |d|ini }|r|  n| } ||          }|dk    rt          |          nt          |          }t          j        t	          |fi ||           d S )Nr   r   )r   intr;   assert_almost_equalr	   )r$   r   r"   r   r{   r   r@   s          r   test_really_large_scalarr      s{    #)#5h2F
-9**IC
)C..C#x//uSzzzSXXH:c44V44h?????r   c                 |   |d|ini }|r|  n| } ||          }d}|g||gz  z   }|dk    }	|dv rG|rEd}
t          j        t          |
          5  t          |fi | d d d            d S # 1 swxY w Y   d S t          |fi |}|	rt	          |          nt          |          }|g}|rF|	r'|                    t          j                   t          }n@|                    |           t          }n#t          |t                    rt          nt          }t          j        |t          j        ||                     d S )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%-9+-
-C!H  ] =]:S111 	& 	&s%%f%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& C**6**!)8%***C9 	H #'''!			***"		!+GU!;!;GI
vrx	'J'J'JKKKKKs   A++A/2A/c                 "   dini }t          |r|  n|           g}|r|                    d|            t          |fi |}fd|D             }dk    rt          nt          }t          j        |t          j        ||                     d S )Nr   r   c                 X    g | ]&}d k    rt          |          nt          |          'S )r   )r   r   ).0ir   s     r   
<listcomp>z7test_really_large_in_arr_consistent.<locals>.<listcomp>1  s3    HHHqFh..aCFFHHHr   r   r8   )	r   insertr	   r   r:   r;   r   r.   r/   )	r$   r   r&   r   r{   r   r?   r@   r   s	      `     r   #test_really_large_in_arr_consistentr   %  s    
 $*#5h2FV2	zz33
4C !

1i   &&v&&FHHHHCHHHH8++I628HI#F#F#FGGGGGr   zerrors,checker)r
   z+Unable to parse string "fail" at position 0c                 *    t          j        |           S r   )r.   isnanr   s    r   r   r   ;  s    RXa[[ r   c                     d}t          |t                    rGt          j        t          |          5  t          ||            d d d            d S # 1 swxY w Y   d S  |t          ||                     sJ d S )Nfailra   rc   )rp   r   re   rf   rg   r	   )r   checkerscalars      r   test_scalar_failr   7  s     F'3 :]:W555 	. 	.vf----	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. wz&8889999999s   AAArL      rP   rP   c                 \    |\  }} ||           } t          |           } |||            d S r   r	   )rO   r2   r"   assert_equalr?   s        r   test_numeric_dtypesr   H  s>    4I|9T??DFLr   zdata,exp)rI   23int64r8   )z1.5z2.7z3.4)      ?g@g333333@c                 n    |\  }}t           ||                     } ||          } |||           d S r   r   )rO   rq   r2   r"   r   r?   r@   s          r   test_strr   Q  sH     5I|		$((Fy~~HL"""""r   c                     |\  }}t          j        dd|           }t           ||                    } ||j                  } |||           d S )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
C
C
CC		#''Fy""HL"""""r   c                     | \  }}t          j        ddd          }t           ||                    } ||j                  } |||           d S )Nz1 daysrP   D)r   freq)r   timedelta_ranger	   r   )r2   r"   r   r(   r?   r@   s         r   test_timedeltar   i  sa    4I|

Xqs
;
;
;C		#''Fy""HL"""""r   r   rL   r   z2017-01-01T12z
US/Pacific)r   c                 x    t          |           }t          t          |                     d         }||k    sJ d S )Nr   )r	   r   )r   r?   r@   s      r   test_timedelta_timestamp_scalarr   r  s@     F&..))!,HXr   c                 <   |\  }}t          j        dddd          } ||          }t          |t                    s3|                     t
          j                            d                     t          |          } ||j	                  } |||           d S )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     s    4I|
/)QSr
B
B
BC
)C..Cc5!! 
K%PQQ	
 	
 	
 __Fy""HL"""""r   zerrors,expected)r
   z!Invalid object type at position 0c                 2   t          ddgddg          }t          |t                    rGt          j        t
          |          5  t          ||            d d d            d S # 1 swxY w Y   d S t          ||           }t          j        ||           d S )Ng      $@r   rS   r]   ra   rc   )	r   rp   r   re   rf   r   r	   r;   r<   )r   r@   r,   r?   s       r   test_non_hashabler     s     4)S'*
+
+C(C   1]9H555 	+ 	+s6****	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ C///
vx00000s   A$$A(+A(c                      g d} d}d}t          j        t          |          5  t          | |           d d d            d S # 1 swxY w Y   d S )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     s    ;;D)
/C	z	-	-	- 4 44"233334 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4   AA
Ac                      g d} d}d}t          j        t          |          5  t          | |           d d d            d S # 1 swxY w Y   d S )Nr   invalidzinvalid error value specifiedra   rc   r   )rO   invalid_error_valuerh   s      r   test_errors_invalid_valuer     s    ;;D#
)C	z	-	-	- 5 54 344445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5r   r   )z
1970-01-02z
1970-01-03z
1970-01-04zdatetime64[D]zkwargs,exp_dtyper5   r   unsignedUnsignedIntegerc                 z    t          | fi |}t          j        g d|          }t          j        ||           d S )Nr   r8   rt   )rO   r{   r   r?   r@   s        r   test_downcast_basicr     sJ    , ''''Fx			333H11111r   signed_downcastr   c                     t          j        t           j        d         d                   }t          j        g d|          }t	          | |          }t          j        ||           d S )NIntegerr   r   r8   r   )r.   r3   	typecodesr/   r	   r;   ru   )rO   r   smallest_int_dtyper@   rv   s        r   test_signed_downcastr     sd     ",y"9!"<==x			);<<<H
TO
4
4
4CX.....r   c                      g d} t          j        g dt           j                  }t          | d          }t	          j        ||           d S )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     sR     <<Dx


"(333H
TJ
/
/
/CX.....r   )r4   r   r   zdata,expected)z1.1r   rP   )r   r   rP   )g     @i N  i  gR@iP  g     j@c                 R    t          | |          }t          j        ||           d S Nr   )r	   r;   ru   )rO   r@   r5   rv   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        ||           d S )N)256    )   r  r  r8   r   )r.   r/   r	   r;   ru   )r5   expected_dtyperO   r@   rv   s        r   test_downcast_not8bitr    sR     Dx~>>>H
TH
-
-
-CX.....r   zdtype,downcast,min_maxint8int16int32uint8uint16uint32uint64c                 \    t          t          |          |          }|j        | k    sJ d S r   )r	   r   r3   )r3   r5   min_maxseriess       r   test_downcast_limitsr    s5    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 d S )Ng     pAr8   r   r   )r   r.   finfofloat64maxrl   r	   r3   )r  r?   s     r    test_downcast_float64_to_float32r  ,  s[    Z"*!5!5!926B"*UUUF111F<6<''''''r   c                      t          ddg          } t          | d          }t          ddgt          j                  }t	          j        ||           d S )Nr   l            r   r   r8   )r   r	   r.   r  r;   r<   rm   s      r   test_downcast_uint64r  4  s\     !()
*
*Cj111Fq-.bi@@@H68,,,,,r   )   ,  r   NaN     p;6$ r  r  r  12345678901234567890
1234567890ITEMl   
>V3&Z
 iIc                     t          t          |           d          }t          |t                    }t          j        ||           d S )Nr   rc   r8   )r	   r   r   r;   r<   )rO   r   r?   r@   s       r   test_coerce_uint64_conflictr"  =  sG    $ tX666Fhe,,,H68,,,,,r   c                      t          g d          } t          j        t          d          5  t	          | d           d d d            d S # 1 swxY w Y   d S )Nr  Unable to parse stringra   r
   rc   rd   )r,   s    r   test_non_coerce_uint64_conflictr%  T  s     ???
@
@C	z)A	B	B	B ( (3w''''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (s   AAAdc1)r4   r   r   dc2c                 p    t          j        t          g |           t          g |          d           d S )Nr   F)check_dtype)r;   ru   r	   )r&  r'  s     r   test_downcast_emptyr*  ^  sK    
 2$$$2$$$     r   c                      t          dd          } t          j        |           sJ t          ddt          j        g          }t          t          g d          d          } t          j        | |           d S )Nr  r   rc       @   )3264r  )r	   r.   r   r   rl   r;   r<   )r?   r,   s     r   ,test_failure_to_convert_uint64_string_to_NaNr0  j  sz    222F8F
"b"&!
"
"C55566xHH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                 N    t          |           }|t          |           k    sJ d S r   r   )r1  r?   s     r   test_precision_float_conversionr3  t  s/    j FU6]]""""""r   zvalues, expected)rI   r   Nr   Int64)rI   r   rP   )rI   r         @)rL   r   r5  Float64)rI   Nr5  r5  )rI   r   z3.5c                 p    t          | |          }t          |          }t          j        ||           d S r7   r~   )r0   nullable_string_dtyper@   sr?   s        r   $test_to_numeric_from_nullable_stringr:    s;     	v2333A]]F68,,,,,r   c                     ddg}t          ||           }t          |d          }t          t          j        dgd          }t	          j        ||           d S )Nr   rI   r8   r   rc   rL   r4  )r   r	   r   NAr;   r<   )r8  r0   r,   r?   r@   s        r   +test_to_numeric_from_nullable_string_coercer=    sa    3ZF
4
5
5
5CH---Fruaj000H68,,,,,r   z+data, input_dtype, downcast, expected_dtypeInt8r   i  Int16Float32iUInt64UInt8r   Int32c                     t          j        | |          }t          ||          }t          j        | |          }t          j        ||           d S )Nr8   r   )r   r/   r	   r;   assert_extension_array_equal)rO   input_dtyper5   r  r   r?   r@   s          r   test_downcast_nullable_numericrG    sW    : (4{
+
+
+Ch///FxN333H#FH5555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        ||           d S )NrL   r   r4  r8   r4   r   r>  )r   r/   r<  r	   r;   rE  )r   r?   r@   s      r   %test_downcast_nullable_mask_is_copiedrI    s     (Aq"%=
0
0
0Ci000FxAruV444H#FH555UCF#FH55555r   c                  \    t          d          } t          j        d          }| |k    sJ d S )Nz1.7e+308gv;w0B)r	   r.   r  )r?   r@   s     r   #test_to_numeric_scientific_notationrK    s5    
##Fz'""HXr   g  PeBg      Gc                 r    t          | g          }t          |d          }t          j        ||           d S )Nr   r   r~   )r   r@   r?   s      r   4test_to_numeric_large_float_not_downcast_to_float_32rM     s<     se}}H7333F68,,,,,r   z
val, dtype)rL   r4  r   r6  Tbooleanc                     t          | gt                    }t          |d          }t          | g|          }t          j        ||           d S )Nr8   numpy_nullabledtype_backendr9   )r   r3   r,   r?   r@   s        r   test_to_numeric_dtype_backendrV    sX    
 #f
%
%
%C+;<<<Fse5)))H68,,,,,r   )rN  rO  rP  )rL   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        ||           d S )NrC   rS  r8   rT  	re   importorskipr   r:   r	   r   r<  r;   r<   )r   r3   rU  r,   r?   r@   s         r    test_to_numeric_dtype_backend_nar]    s     EI&&&!(
#tF
+
+
+C=999FsBEl%000H68,,,,,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                     d|v rt          j        d           d}nd}t          | d gt                    }t	          |||          }t          | t
          j        g|          }t          j        ||           d S )NrC   rS  r8   rU  r5   r[  )r   r3   r5   rU  r,   r?   r@   s          r   )test_to_numeric_dtype_backend_downcastingra  +  s     EI&&&!(
#tF
+
+
+C=8LLLFsBEl%000H68,,,,,r   zsmaller, dtype_backendrS  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        ||           d S )NrC   rL   rA  r8   r   r`  re   r\  r   r   r<  r	   r;   r<   )smallerrU  r,   r?   r@   s        r   .test_to_numeric_dtype_backend_downcasting_uintre  C  s}     	!!I&&&
!RU8
,
,
,C=:NNNFq"%j000H68,,,,,r   )r4  rA  r6  rQ  rW  zuint64[pyarrow]rX  rY  c                     d| v rt          j        d           t          dt          j        g|           }t          |d          }t          dt          j        g|           }t          j        ||           d S )NrC   rL   r8   rS  rT  rc  )r3   r,   r?   r@   s       r   .test_to_numeric_dtype_backend_already_nullablerg  Q  s|     EI&&&
!RU5
)
)
)C+;<<<Fq"%j...H68,,,,,r   c                    t          g d          }|                                }t          j        t          d          5  t          ||            d d d            n# 1 swxY w Y   t          || d          }| dk    rd}nd	}t          t          j        t          j        t          j        g|
          }t          j	        ||           d S )N)r   r   r   r$  ra   rT  r   )rU  r   rC   zdouble[pyarrow]r6  r8   )
r   copyre   rf   rg   r	   r   r<  r;   r<   )rU  r,   r@   r?   r3   s        r   #test_to_numeric_dtype_backend_errorrj  h  s   

 
 CxxzzH	z)A	B	B	B 5 53m44445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 =JJJF	!!!rubeRU+5999H68,,,,,s   AA#&A#c                      t          g d          } d}t          j        t          |          5  t	          | d           d d d            d S # 1 swxY w Y   d S )Nr   zPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.ra   numpyrT  rd   )r,   rh   s     r   test_invalid_dtype_backendrm  x  s    


C	!  
z	-	-	- / /3g..../ / / / / / / / / / / / / / / / / /s   AAAc                  Z   t          j        d          } t          t          d          t	          |                                                     }t          |dd          }t          g dt	          |                                                     }t          j	        ||           d S )NrC   12xr8   r   )r   rU  )rL   r   N)
re   r\  r   rZ   r   r   r	   r   r;   r<   )par,   r?   r@   s       r   test_coerce_pyarrow_backendrq    s    		Y	'	'B
eJryy{{$;$;
<
<
<CHIFFFFlll*RXXZZ*@*@AAAH68,,,,,r   )nr   rl  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*  r0  r3  r<  r:  r=  rG  rI  rK  rM  rV  r]  ra  re  rg  rj  rm  rq  r   r   r   <module>r     s               ) ) ) ) ) ) ) ) )                          000111  21 e}%%%  &% S)
E/BCCC  DC ,.CDEEE  FE e}%%%  &% 	'	')>?	(	("*@A	,	,b.IJ      	grx !)	4	4w6HI - - - ULFL]R]95M5MNNNO  c1X..- - /. - 
!!!	 ( ( ( 			LM)));	
	 	( (	 	(- - - A	Cbf%& 
1 
1 
1/ / / 	*+			r"	"	"	"B'	 2 2 2 WcNB#788- - 98-  		c
	 ( ( (  gof%%s+_W_U-C-CSIC[#s#	
 "(OGOF++S1
2
2C	8D#;:LM	 	( (	 	(- - -! ! ! 004 4 104
@ @ @ L  L  LFH H H$ @	(() : : : )))c261bf-E!FGG  HG 	("(999G<<<=			 9 9: # # ## # ## # # Q_%%_666   # # # 6	66263/001 	1 	1 	14 4 45 5 5 
		;;;?SSS   
RX
d	RX&
g	 4 4 9:
j	!828BL9J,KA,N#O#OP 2 2  (2 *Y,ABB
		;;;?SSS / /  CB// / / %F%F%FGG	BJ???@===BHAAA  	
 / /  HG/ Xrx0:ry2IJ / /	 / 	UU27^^/rw1CDE	)eeBHoo155??3FGH	)eeBHoo155??3FGH	)eeBHoo155??3FGH	*uuRX2EE"(OO4GHI	:bi 0 0 4eeBI6F6F6JKL	:bi 0 0 4eeBI6F6F6JKL	:bi 0 0 4eeBI6F6F6JKL	)eeBGnn0%%..2Dq2HIJ	)eeBHoo155??3F3JKL	)eeBHoo155??3F3JKL	)eeBGnn014eeBHoo6IJK	)eeBHoo1A5uuRX7JKL	)eeBHoo1A5uuRX7JKL	:bh 3UU28__5H15LMN	:bi 0 0 4eeBI6F6F6JQ6NOP	:bi 0 0 4eeBI6F6F6JQ6NOP# ,! !- ,!( ( (- - -  877#rvrv';<	

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