+
    xȇi                   *   R t ^ RIHt ^ RIHtHtHtHt ^ RIHt ^ RI	H
t
Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIHtHtHtHtHtHtHt ^ R	IH t  ^ R
I!H"t" ^ RI#H$t$H%t% ^ RI&t'^ RI(H)t* ^ RI+H,t, ^ RI-H.t.H/t/H0t0H1t1H2t2H3t3H4t4H5t5 ^ RI6H7t7 ]Pp                  ! R4      t9^ RI:H;t; ^ RI<H=t= R t>]P~                  ! ]*P                  ]AR7      R 4       tB]P~                  R 4       tC]P~                  R 4       tD]P~                  ! RR.R7      R 4       tE]P~                  R 4       tF]P~                  R 4       tG]P~                  R 4       tH]P~                  R 4       tI ! R R ]7P                  4      tK ! R! R"4      tL]P                  P                  R#]*P                  4      R$ 4       tPR% tQR& tRR' tSR( tTR) tU]P                  P                  R*. ERO4      ]P                  P                  R,R-R-R-..4      R. 4       4       tV]P                  P                  R/. ERO^^ ... ERO^ ...R0R1.R27      R3 4       tWR4 tX]P                  P                  R5]9P                  4       ]Z.]9P                  ^4      ]Z.]9P                  4       ]Z.]9P                  4       ]A.]9P                  ]9P                  4       4      ]_.]9P                  ]9P                  4       4      ]_.]9P                  ]9P                  4       ]9P                  4       4      ]_.]9P                  R6]9P                  4       3R7]9P                  4       3.4      ]e.]9P                  ]9P                  4       ]9P                  4       4      ]%..	4      R8 4       tgR9 thR: tiR; tjR< tkR= tlR> tmR? tnR@ toRA tpRB tqRC trRD tsRE tt]P                  P                  RF]PX                  ]P                  3ER.4      RG 4       tvRH twRI txRJ tyRK tzRL t{RM t|RN t}RO t~RP t]P                  P                  RQRRRS.4      RT 4       tRU t]P                  P                  RVRWRX.RYRZ.R[R\..4      R] 4       tR^ t]P                  P                  R_R`RaRRaRbR..RcRbRRaRaR..R`RaRbRaRbRb..RdRaRRbRbR..ReRbRRbRaR...4      Rf 4       tRg t]P                  P                  RhRiR`R. ERO.RiRjRa. ERO.RkRjRb. ERO.RkRlR. ERO.RiERR. ERO.RkERR. ERO.RiERR. ERO.RkERR. ERO..4      Rn 4       t]P                  P                  RoER4      Rp 4       t]P                  P                  RqRQ]EP                  ! Rj4      .Rr]A.RsRa.Rt^..4      Ru 4       t]P                  P                  RvRmRwERRaRxR..RmRw^RaRyR..RzRwERRbR{R...4      R| 4       tR} tR~ tR t]P                  P                  RR`RaRRbR..RcRbRRaR..RlRbRRaR..R`RaRbRbRb..RdRaRRbR..ReRbRRaR...4      R 4       t]P                  P                  RRRRaR. ERO.RRbR. ERO.RlRbR. ERO.R`RaR. ERO.RSRaR. ERO.ReRbR. ERO.RRaR. ERO.RRaR. ERO.RRbR. ERO.RRbR. ERO.RRbR. ERO.RRbR. ERO..4      R 4       t]P                  P                  RR`^ R^ R.]9EP!                  4       .Rl^^^R.]9P                  4       .R`^^ERR.]9P                  4       .R`ERERERR.]9P                  4       ..4      R 4       tR tR tR tR t]P                  P                  R. ERO4      ]P                  P                  R. ERO4      ]P                  P                  R. ERO4      R 4       4       4       tR t]P                  P                  R^. ERO.ER. ERO.^. ERO.ER. ERO.^. ERO..4      R 4       t]P                  EP3                  R]R7      R 4       tR t]P                  P                  RR^RR`R..R^^R`R..^^^RlR..RRERRR.3.4      R 4       t]P                  P                  R^^RwRR..R^RwRR..R^RRR...4      R 4       t]P                  P                  R. ERO. ERO. ERO. ERO. ERO. ERO. ERO. ERO. ERO. ERO. ERO. ERO. ERO. ERO. ERO. ERO. ERO. ERO.4      R 4       t]P                  P                  RRR.RR.RR.R+R.RR.RR..4      R 4       tR t]P                  P                  R. ERO. ERO. ERO. ERO. ERO. ERO.4      R 4       t]P                  P                  RRRR.4      R 4       t]P                  P                  RRRR.4      R 4       t]P                  P                  RRR.4      ]P                  P                  RRRRRRR/3RRRRR/3.RR.R27      R 4       4       t]P                  P                  Rt^ ^.4      R 4       t]P                  P                  RRR.4      ]P                  P                  R^ R.^^..4      R 4       4       t]P                  P                  RRR.4      R 4       t]P                  P                  R^ R.^^..4      R 4       tR tR tR tR t]P                  P                  RRR.4      R 4       tR tR tR t]P                  P                  RRbRa.4      R 4       tR t]P                  P                  R. ERO4      R 4       tR t]P                  P                  RRR.R^.R^ .R^ .R^ .R^.R^.R^.R^.RRa.RR.R^.R^.R^.R^.R]! R^^4      .R]! ^^^R4      ..4      R 4       t]P                  P                  R. ERO4      R 4       tR tR tR t]P                  P                  RRR.4      R 4       tR t]P                  P                  RRR.4      R 4       t]P                  P                  ER . ERO4      ER 4       tER t]P                  P                  RERER.ERER..4      ER 4       tER t]P                  P                  R. ERO4      ER	 4       t]P                  P                  R. ERO4      ER
 4       t]P                  P                  ER. ERO4      ]P                  P                  R. ERO4      ER 4       4       tER t]P                  P                  ER^ ^@.4      ER 4       tER tER t]P                  P                  RRR.4      ER 4       t]P                  P                  ERER]! R^^^ER7      .ER]'EP                  ! ER4      ..4      ER 4       tER tER t]P                  P                  RRR.4      ER 4       t]P                  P                  ERERER.4      ER 4       t]P                  P                  ER . ERO4      ER! 4       t]P                  P                  ER . ERO4      ER" 4       t]P                  P                  ER#. ERO4      ER$ 4       tER% t]P                  P                  RER&^.ER'^.ER(^.ER)^..4      ER* 4       tER+ tER, tER- tER. t]P                  P                  ER/RbRa.4      ER0 4       tER1 tER2 t]P                  P                  ERER3ER4.4      ER5 4       t ! ER6 ER7];4      tER8 tER9 t]P                  P                  ER:ER;ER<.]9P                  4       3RmRj.]9P                  4       3.4      ER= 4       tER> t]P                  P                  R#]*P                  ]*EP                  ,           4      ER? 4       t]P                  P                  R#]*EP                  4      ER@ 4       t]P                  P                  R#]*EP                  4      ERA 4       t]P                  P                  R#]*EP                  ]*EP                  ,           4      ERB 4       tERC tERD tERE t]P                  P                  R#]*EP                  ]*EP                  ,           4      ERF 4       t]P                  P                  R#]*EP                  ]*EP                  ,           4      ERG 4       t]P                  P                  R#]*EP                  ]*EP                  ,           4      ERH 4       t]P                  P                  R#]*EP                  ]*EP                  ,           4      ERI 4       t]P                  P                  R#]*EP                  ]*EP                  ,           4      ERJ 4       t]P                  P                  R#]*EP                  ]*EP                  ,           4      ERK 4       tERL t]P                  P                  R#]*EP                  ]*EP                  ,           ]R27      ]P                  P                  ERR].4      ERM 4       4       tERN tERO tERP tERQ tERR tERS t]P                  P                  R#]*EP                  4      ERT 4       tERU tERV tERW tERX Et ERY EtERZ Et]P                  P                  ERER[ER\.4      ER] 4       Et]P                  P                  R#]*EP                  4      ER^ 4       Et]P                  P                  R#]*EP                  4      ER_ 4       Et]P                  P                  ER]*EP                  4      ER` 4       Et]P                  P                  ER. ERO4      ERa 4       Et	]P                  P                  R#]*P                  4      ERb 4       Et
]P                  P                  ERER[ER\.4      ERc 4       Et]P                  P                  ERER[ER\.4      ERd 4       EtERe EtERf Et]P                  P                  ERER[ERg.4      ERh 4       EtERi EtERj EtERk Et]P                  P                  ERl]9P                  4       ]9P                  4       .4      ERm 4       EtERn EtERo Et]P                  EP-                  ]ERpERq7      ERr 4       EtERs EtERt EtERu EtERv EtERw EtERx EtERy EtERz EtER{ Et ]P                  P                  ER|. ERO4      ER} 4       Et!]P                  P                  ER~. ERO4      ER 4       Et"ER Et#ER Et$]P                  P                  R. ERO4      ER 4       Et%]P                  P                  R. ERO4      ER 4       Et&R# (  ag  
This file contains a minimal set of tests for compliance with the extension
array interface test suite, and should contain no other tests.
The test suite for the full functionality of the array is located in
`pandas/tests/arrays/`.
The tests in this file are inherited from the BaseExtensionTests, and only
minimal tweaks should be applied to get the tests passing (by overwriting a
parent method).
Additional tests should either be added to one of the BaseExtensionTests
classes (if they are relevant for the extension interface for all dtypes), or
be added to the array-specific tests in `pandas/tests/arrays/`.
)annotations)datedatetimetime	timedelta)Decimal)BytesIOStringION)lib)	timezones)PY312is_ci_environmentis_platform_windowspa_version_under14p0pa_version_under19p0pa_version_under20p0pa_version_under21p0)Pandas4Warning)pandas_dtype)
ArrowDtypeCategoricalDtypeType)
no_default)is_bool_dtypeis_datetime64_any_dtypeis_float_dtypeis_integer_dtypeis_numeric_dtypeis_signed_integer_dtypeis_string_dtypeis_unsigned_integer_dtype)basepyarrow)ArrowExtensionArray)ArrowPeriodTypec                    \        4       '       dU   \        4       '       dC   \        P                  P	                  \
        P                  R R7      pV P                  V4       R# R# R# )z_TODO: Set ARROW_TIMEZONE_DATABASE environment variable on CI to path to the tzdata for pyarrow.raisesreasonN)r   r   pytestmarkxfailpaArrowInvalidapplymarker)requestr)   s   & q/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/extension/test_arrow.py_require_timezone_databaser0   K   sQ    !2!4!4{{  ??; ! 
 	D! "5    )paramsidsc                .    \        V P                  R 7      # ))pyarrow_dtype)r   param)r.   s   &r/   dtyper7   W   s    GMM22r1   c           
     	   V P                   p\        P                  P                  V4      '       d0   R R.^,          R.,           R R.,           R.,           R R.,           pEM\        P                  P	                  V4      '       d0   RR.^,          R.,           RR.,           R.,           RR.,           pEM.\        P                  P                  V4      '       d0   ^^ .^,          R.,           RR.,           R.,           ^^c.,           pEM\        P                  P                  V4      '       d0   ^^ .^,          R.,           ^^.,           R.,           ^^c.,           pEM\        P                  P                  V4      '       df   \        R4      \        R4      .^,          R.,           \        R	4      \        R
4      .,           R.,           \        R4      \        R4      .,           pEM\        P                  P                  V4      '       dr   \        R^^4      \        R^^4      .^,          R.,           \        R^^4      \        R^^4      .,           R.,           \        R^^4      \        R^^4      .,           pEMf\        P                  P                  V4      '       d|   \        R^^^^^^4      \        R^^^^^^4      .^,          R.,           \        R^^^4      \        R^^^4      .,           R.,           \        R^^4      \        R^^4      .,           pEM\        P                  P                  V4      '       dg   \        ^4      \        ^^4      .^,          R.,           \        R4      \        ^ 4      .,           R.,           \        R 4      \        ^
4      .,           pEM;\        P                  P                  V4      '       dk   \!        ^^ 4      \!        ^ ^4      .^,          R.,           \!        ^ ^ 4      \!        ^^4      .,           R.,           \!        ^ ^4      \!        ^^ 4      .,           pM\        P                  P#                  V4      '       d/   RR.^,          R.,           RR.,           R.,           RR.,           pMY\        P                  P%                  V4      '       d/   RR.^,          R.,           RR.,           R.,           RR.,           pM\&        h\(        P*                  ! W R7      # )!TFN      ?              ?g     X@10.0z-2.0z-1.0z0.5z33.123      ab2!>   a   b   1   2   !   >r7   g       g      i)r5   r+   types
is_booleanis_floatingis_signed_integeris_unsigned_integer
is_decimalr   is_dater   is_timestampr   is_durationr   is_timer   	is_string	is_binaryNotImplementedErrorpdarray)r7   pa_dtypedatas   &  r/   r_   r_   \   sP   ""H	xx8$$e}q D6)T5M9TFBdE]R			h	'	'SzA~&$5>#tL		#	#H	-	-1vzTF"b"X-6!R@		%	%h	/	/1vzTF"aV+tf42w>			X	&	&S\75>*Q.fv01 f u~wx01	2 	 
		(	#	#$1tD"b12Q6fD!QdAq!123 f D"b!4b"#56	7 	 
		x	(	(dAq!Q1-xaAq!Q/OPSTTfaA&q!Q(?@A f a#XdAq%9:	; 	 
		h	'	'q\9Q?+a/f}il+, f ~y}-	. 	 
		(	#	#"a[$q"+&*fAqz41:&' f Aqz41:&	' 	 
		H	%	%SzA~&#s3tf<SzI			H	%	%d|a4&(D$<74&@D$<O!!88D&&r1   c                `    \        V 4      P                  RV ^ ,          .V P                  R7      # )zLength-2 array with [NA, Valid]NrL   type_from_sequencer7   )r_   s   &r/   data_missingrd      s*     :$$dDG_DJJ$GGr1   r_   rd   )r2   c                R    V P                   R8X  d   V# V P                   R8X  d   V# R# )zParametrized fixture returning 'data' or 'data_missing' integer arrays.

Used to test dtype conversion with and without missing values.
r_   rd   N)r6   )r.   r_   rd   s   &&&r/   all_datarf      s,     }}	.	( 
)r1   c           
     l   V P                   p\        P                  P                  V4      '       d	   RpRpRpEM_\        P                  P	                  V4      '       d	   RpRpRpEM2\        P                  P                  V4      '       d	   Rp^ p^pEM\        P                  P                  V4      '       d	   ^ p^p^
pEM\        P                  P                  V4      '       d*   \        R^^4      p\        R^^4      p\        R^^4      pEM\        P                  P                  V4      '       d/   \        R^^^^^^4      p\        R^^4      p\        R^^^4      pEM7\        P                  P                  V4      '       d$   \        R4      p\        ^ 4      p\        ^^4      pM\        P                  P                  V4      '       d&   \        ^ ^ 4      p\        ^ ^4      p\        ^^4      pM\        P                  P                  V4      '       d   R	pR
pRpMy\        P                  P!                  V4      '       d   RpRpRpMM\        P                  P#                  V4      '       d#   \%        R4      p\%        R4      p\%        R4      pM\&        h\(        P*                  ! W3RRW"W4.V R7      # )z
Data for factorization, grouping, and unique tests.

Expected to be like [B, B, NA, NA, A, A, B, C]

Where A < B < C and NA is missing
FTg?r:   r?   i  r>   r@   rA   rB   crF   rG      cz-1.1r=   z1.1NrL   grN   )r5   r+   rO   rP   rQ   rR   rS   rU   r   rV   r   rW   r   rX   r   rY   rZ   rT   r   r[   r\   r]   )r7   r^   ABCs   &    r/   data_for_groupingrm      s)    ""H	xx8$$			h	'	'		#	#H	-	-		%	%h	/	/			(	#	#r2q!q!			x	(	(T1aAq!,T1a T1a#			h	'	'bMaLaO			(	#	#AJBKRL			H	%	%			H	%	%			X	&	&FOENEN!!88Q4qQ2%@@r1   c                ~    \        V 4      P                  V ^ ,          V ^,          V ^,          .V P                  R7      # )z^
Length-3 array with a known sort order.

This should be three items [B, C, A] with
A < B < C
rL   ra   rm   s   &r/   data_for_sortingrp      F     !"11	1	035Fq5IJ%% 2  r1   c                ~    \        V 4      P                  V ^ ,          V ^,          V ^,          .V P                  R7      # )zk
Length-3 array with a known sort order.

This should be three items [B, NA, A] with
A < B and NA missing.
rL   ra   ro   s   &r/   data_missing_for_sortingrs      rq   r1   c                   V P                   P                  p\        P                  P	                  V4      '       gp   \        P                  P                  V4      '       gK   \        P                  P                  V4      '       g&   \        P                  P                  V4      '       d+   \        P                  ! ^.^
,          V P                   R7      # V # )z3Length-100 array in which all the elements are two.rL   )
r7   r5   r+   rO   
is_integerrQ   rT   rW   r\   r]   r_   r^   s   & r/   data_for_twosrw     s     zz''H
H%%88))88x((88))xxb

33Kr1   c                  N  a  ] tR tRtR tR t]P                  P                  RRR.4      R 4       t	V 3R lt
V 3R	 ltR
 tR tR tR tR R lt]P                  P                  RRR.4      V 3R l4       tR R ltR R lt]P                  P                  RRR.4      V 3R l4       tR R lt]P                  P-                  R4      ]P                  P                  RRR.4      V 3R l4       4       t]P                  P                  RRR.4      V 3R l4       t]P                  P                  R. RHO4      R 4       tV 3R  ltV 3R! ltR" tV 3R# ltV 3R$ lt]P                  P?                  R%RR&7      V 3R' l4       t R( t!R) t"]P                  P?                  R*RR&7      V 3R+ l4       t#]P                  P?                  R*RR&7      V 3R, l4       t$]P                  P                  R-R.]%.4      ]P                  P                  R/R0R1.4      R2 4       4       t&V 3R3 lt']P                  P                  R4^RI.4      V 3R5 l4       t(R6 t)R7t*R8 t+R9 R: lt,R; t-R< R= lt.R> t/V 3R? lt0V 3R@ lt1RA t2V 3RB lt3RC t4]P                  P                  RD. RJO4      RE 4       t5V 3RF lt6RGt7V ;t8# )KTestArrowArrayi  c                	   VP                   pVR 8X  d   \        R4      pM-VR8X  d'   \        V\        V4      4      '       d   \        R4      p\        V\        V4      4      '       dL   TP	                  \        \        V4      \        V4      RR7       UUu. uF  w  rEWE,           NK  	  uppVR7      # TP	                  \        V4       Uu. uF  qDV,           NK  	  upVR7      # u uppi u upi )bool[pyarrow]int64[pyarrow]zint8[pyarrow]T)strictrL   )r7   r   
isinstancerb   rc   ziplist)selfleftrightr7   rA   rB   s   &&&   r/   _construct_for_combine_add)TestArrowArray._construct_for_combine_add  s    

 O# !12Eo%*UDJ*G*G !12EeT$Z((&&%(dT%[%NO%N6A%NO '  
 &&$(J/JqUJ/ '  	 P
 0s   C%
C+c                	d    \         P                  ! V4      pV P                  W1W!^ ,          4       R#     N)r\   Series_compare_other)r   r_   comparison_opsers   &&& r/   test_compare_scalar"TestArrowArray.test_compare_scalar&  s#    iioC}1g>r1   	na_actionNignorec                	   VP                   P                  R 9   dC   VP                  R VR7      pVP                  \        R7      p\
        P                  ! WE4       R# VP                  R VR7      pVP                   R8X  d+   V'       d#   VP                  R\        P                  R7      pMVP                  4       p\
        P                  ! WE4       R# )	mMc                    V # N xs   &r/   <lambda>)TestArrowArray.test_map.<locals>.<lambda>-      r1   r   rL   c                    V # r   r   r   s   &r/   r   r   1  r   r1   float32[pyarrow]float64r7   na_valueN)	r7   kindmapto_numpyobjecttmassert_numpy_array_equalnpnan)r   rd   r   using_nan_is_naresultexpecteds   &&&&  r/   test_mapTestArrowArray.test_map*  s    ""d*!%%kY%GF#,,6,:H''9!%%kY%GF!!%77O'00y2660R'002''9r1   c                	"  < VP                   P                  p\        P                  P	                  V4      '       d5   VP                  \        P                  P                  R V R2R7      4       MV'       g   \        P                  P                  V4      '       d   VP                  e&   \        P                  P                  V4      '       d0   VP                  \        P                  P                  RR7      4       \        SV `5  V4       R# )zFor z .astype(str) decodes.r'   Nz8pd.Timestamp/pd.Timedelta repr different from numpy repr)r7   r5   r+   rO   rZ   r-   r(   r)   r*   rV   tzrW   supertest_astype_str)r   r_   r.   using_infer_stringr^   	__class__s   &&&& r/   r   TestArrowArray.test_astype_str9  s    ::++88h''!!!(+AB " 
 $XX""8,,1Dxx##H--!!U " 
 	%r1   c                	  < VP                   P                  p\        P                  P	                  V4      '       g&   \        P                  P                  V4      '       d]   \        P                  P	                  V4      '       d   R pMRV 2pVP                  \        P                  P                  VR7      4       \        SV `-  V4       R# )z1ArrowDtype(pa.string()) != StringDtype('pyarrow')$pyarrow.type_for_alias cannot infer r   N)r7   r5   r+   rO   rY   rT   r-   r(   r)   r*   r   test_from_dtype)r   r_   r.   r^   r'   r   s   &&&  r/   r   TestArrowArray.test_from_dtypeL  s    ::++88h''288+>+>x+H+Hxx!!(++L?zJ!!! " 
 	%r1   c                	   \        V4      P                  VP                  VP                  R 7      p\        P
                  ! W!4       \        VP                  \        P                  4      '       g   Q h\        V4      P                  VP                  P                  4       VP                  R 7      p\        P
                  ! W!4       \        VP                  \        P                  4      '       g   Q hR# rL   N)
rb   rc   	_pa_arrayr7   r   assert_extension_array_equalr~   r+   ChunkedArraycombine_chunksr   r_   r   s   && r/   test_from_sequence_pa_array*TestArrowArray.test_from_sequence_pa_array[  s     d**4>>*L
''5&**BOO<<<<d**NN))+4:: + 
 	''5&**BOO<<<<r1   c                	    \        \        P                  4       4      p\        P                  ! \
        R R7      ;_uu_ 4        \        P                  ! R.VR7       RRR4       R#   + '       g   i     R# ; i)zConverting strings tomatchz12-1rL   N)r   r+   month_day_nano_intervalr(   r&   r[   r"   _from_sequence_of_strings)r   r.   r7   s   && r/   *test_from_sequence_pa_array_notimplemented9TestArrowArray.test_from_sequence_pa_array_notimplementedh  sJ    25578]].6MNN996(%P ONNNs   A&&A7	c                	   VP                   P                  p\        P                  P	                  V4      '       d   VP
                  e   \        V4       VP                  P                  \        P                  4       4      p\        V4      P                  WAP                   R7      p\        P                  ! WQ4       VP                  4       p\        V4      P                  WAP                   R7      p\        P                  ! WQ4       R # NrL   )r7   r5   r+   rO   rV   r   r0   r   caststringrb   r   r   r   r   )r   r_   r.   r^   pa_arrayr   s   &&&   r/   &test_from_sequence_of_strings_pa_array5TestArrowArray.test_from_sequence_of_strings_pa_arraym  s    ::++88  **x{{/F&w/>>&&ryy{3d55hjj5Q
''5**,d55hjj5Q
''5r1   c                	   \        W4      ! VR 7      pVP                  P                  p\        P                  P                  V4      '       d9   VP                  ^ 8X  d   RpMRpVP                  V4      pVP                  V4      pVP                  R4      p\        VP                  R4      V4      ! VR 7      p\        P                  ! WGRR7       R# )skipnaint32[pyarrow]r|   Float64F)check_dtypeN)
getattrr7   r5   r+   rO   is_temporal	bit_widthastyper   assert_series_equal)r   r   op_namer   r   pa_typeint_typer   s   &&&&    r/   check_accumulateTestArrowArray.check_accumulatez  s    &f5))))88((  B&++**X&C]]8,Fy)3::i0':&I
vUCr1   c               $    V ^8  d   QhRRRRRR/#    r   	pd.Seriesr   strreturnboolr   )formats   "r/   __annotate__TestArrowArray.__annotate__  s!      ) c d r1   c                	Z   VP                   P                  p\        P                  P	                  V4      '       g&   \        P                  P                  V4      '       d   VR9   d   R#  R# \        P                  P                  V4      '       d   VR8X  d   R#  R# \        P                  P                  V4      '       d   VR9   d   R#  R# \        P                  P                  V4      '       d8   VR 8X  d(   \        P                  P                  V4      '       g   R# VR8X  d   R# R# )cumsumcumprodFT)r   r   cummaxcummin)r   r   r   )
r7   r5   r+   rO   rZ   rT   rY   rP   r   rW   )r   r   r   r   s   &&& r/   _supports_accumulation%TestArrowArray._supports_accumulation  s     ))))88g&&"((*=*=g*F*FCC D  XX(()# $  XX  ))99 :  XX!!'**("288+?+?+H+HI%r1   r   TFc                	F  < VP                   P                  pTp\        P                  P	                  V4      '       d
   VR9   d   R# \
        P                  ! V4      pV P                  Wv4      '       g   \        SV `%  WV4      # VR 8X  d   \        P                  P                  V4      '       g&   \        P                  P                  V4      '       d:   VP                  \        P                  P                  V RV 2\         R7      4       V P#                  WvV4       R# )r   Nz not implemented for r'   r&   )r   r   r   )r7   r5   r+   rO   rY   r\   r   r   r   test_accumulate_seriesrP   rT   r-   r(   r)   r*   	TypeErrorr   )	r   r_   all_numeric_accumulationsr   r.   r   r   r   r   s	   &&&&&   r/   r   %TestArrowArray.test_accumulate_series  s    ****+88g&&76T+T iio**38871  %0HH((BHH,?,?,H,H!!788MgYW$ "  	cF3r1   c               $    V ^8  d   QhRRRRRR/# r   r   )r   s   "r/   r   r     s!     ) )y )3 )4 )r1   c                	(   VR 8X  g   \         '       d
   VR8X  d   R# VP                  pVP                  p\        P                  P                  V4      '       d7   VR9   d0   \        P                  P                  V4      '       d	   VR9   d   MR# \        P                  P                  V4      '       d
   VR9   d   R# \        P                  P                  V4      '       g&   \        P                  P                  V4      '       d
   VR9   d   R# \        P                  P                  V4      '       d/   \        P                  P                  V4      '       g
   VR9   d   R# \        P                  P                  V4      '       d
   VR	9   d   R# R# )
kurtskewFT)sumvarprodr   )r   )r   r   )meanmedianr   stdsemr   r   )anyall)r   r  r   r   r   r  )
r   r7   r5   r+   rO   r   rW   rZ   rY   rP   )r   r   r   r7   r^   s   &&&  r/   _supports_reduction"TestArrowArray._supports_reduction  s%   f!5!5'V:K		 &&88))g9W.Wxx##H--'W2DXX))g.HHHx((BHH,>,>x,H,HPP HH  **HH((22>)
 88x((W 9
 .
 r1   c               $    V ^8  d   QhRRRRRR/# )r   r   r   r   r   r   r   r   )r   s   "r/   r   r     s!     1 1	 1C 1 1r1   c                	   VP                   P                  p\        P                  P	                  V4      '       g&   \        P                  P                  V4      '       d   VP                  R 4      pMTpVR8X  d"   \        W4      ! 4       p\        WR4      ! 4       pM$\        W4      ! VR7      p\        WR4      ! VR7      p\        P                  ! Wg4       R# )r   countr   N)
r7   r5   r+   rO   ru   rQ   r   r   r   assert_almost_equal)r   r   r   r   r^   altr   r   s   &&&&    r/   check_reduceTestArrowArray.check_reduce  s     99**88x((BHH,@,@,J,J**Y'C
 C gS*,Fs,.HS*&9Fs,F;H
v0r1   c                	|  < VP                   P                  p\        P                  P	                  \
        V R \        P                   RV 2R7      p\        P                  P                  V4      '       g&   \        P                  P                  V4      '       d   VP                  V4       \        SV `5  WV4      # )z is not implemented in pyarrow= for r%   )r7   r5   r(   r)   r*   r   r+   __version__rO   rY   rZ   r-   r   test_reduce_series_boolean)	r   r_   all_boolean_reductionsr   r   r.   r^   
xfail_markr   s	   &&&&&&  r/   r  )TestArrowArray.test_reduce_series_boolean  s     ::++[[&&)* +>>*%z; ' 

 88h''288+=+=h+G+G 
+w1$PVWWr1   c                    V ^8  d   QhRRRR/# )r   r   r   r   r   r   )r   s   "r/   r   r     s     % %# %t %r1   c                	   VP                   P                  pVR
9   d   VP                  pV# \        P                  P                  V4      '       Ed	   VR9   d   \        P                  P                  V4      '       d   VP                  pV# \        P                  P                  V4      '       d!   \        \        P                  R4      4      pV# \        P                  P                  V4      '       d+   \        \        P                  VP                  4      4      pV# \        \        P                  VP                  4      4      p V# VP                  p V# VP                  P                  R8X  dO   VR8X  d.   \        '       g"   \        \        P                  ^&^4      4      pV# VR9  d   VP                  pV# Rp V# VR9   d   RpV# VR9   d*   \        P                  P                  V4      '       d   RpV# VR8X  d4   \        P                  P!                  V4      '       d   VP                  pV# RRRRR	R/VP                  P"                  ,          pV# )maxszdecimal128(7, 3)[pyarrow]r   float64[pyarrow]uint64[pyarrow]ir|   uf)r  min)r  r  )r   r   r  r  r   )r   r   r  r   r   r  )r   r   )r   rb   r7   r+   rO   r   rW   rU   r   durationrX   unitnamer   
decimal128rP   rY   r   )r   arrr   r   r   	cmp_dtypes   &&&&  r/   _get_expected_reduction_dtype,TestArrowArray._get_expected_reduction_dtype  s   --$$n$		IB A XX!!'**.(88''00 #		I: 9 XX%%g.. *2;;s+; <I6 5 XX%%g.. *2;;w||+D EI2 / !+2;;w||+D EI. +  II	* ) YY^^::%(<(<&r}}R';<	" !  GGII	  /	  GG*I  'BHH,?,?,H,H)I  "(("4"4W"="=		I 	 %&' iinn	I
 r1   zignore::RuntimeWarningc                	  < \         '       g   V'       d   VR 8X  d   \        P                  P                  VP                  P
                  4      '       g:   \        P                  P                  VP                  P
                  4      '       d0   VP                  \        P                  P                  RR7      4       \        SV `1  WV4      # )r   z,https://github.com/apache/arrow/issues/45733r   )r   r+   rO   ru   r7   r5   rQ   r-   r(   r)   r*   r   test_reduce_series_numeric)r   r_   all_numeric_reductionsr   r.   r   s   &&&&&r/   r(  )TestArrowArray.test_reduce_series_numeric8  s     %$&&0##DJJ$<$<==88''

(@(@AA !!I " 
 w1$PVWWr1   c                	   < TpVR 8X  dZ   \         '       dN   VP                  P                  '       d2   \        P                  P                  RR7      pVP                  V4       \        SV `!  WV4      # )r   zskew not implementedr   )	r   r7   _is_numericr(   r)   r*   r-   r   test_reduce_frame)r   r_   r)  r   r.   r   r)   r   s   &&&&&  r/   r-   TestArrowArray.test_reduce_frameK  s^    (f!5!5zz%%%{{((0F(G##D)w(vNNr1   typc                	n    \         P                  ! ^^.V R2R7      P                  4       pVR8X  g   Q hR# )   	[pyarrow]rL         ?N)r\   r   r   )r   r/  r   s   && r/   test_median_not_approximate*TestArrowArray.test_median_not_approximateT  s4     Aq6C5	):;BBD}}r1   c                	   < VP                   p\        P                  P                  V4      '       d8   VP	                  \
        P                  P                  \        R V 2R7      4       \        P                  P                  V4      '       dM   Rp\
        P                  ! \        VR7      ;_uu_ 4        VP                  VP                  4       RRR4       R# \        SV `=  V4       R#   + '       g   i     R# ; i)r   r%   z6string\[pyarrow\] should be constructed by StringDtyper   N)r5   r+   rO   rT   r-   r(   r)   r*   r[   rY   r&   r   construct_from_stringr!  r   #test_construct_from_string_own_name)r   r7   r.   r^   msgr   s   &&&  r/   r8  2TestArrowArray.test_construct_from_string_own_nameZ  s    &&88x((!!.A(L "  88h''KCy44++EJJ7 5 3E: 54 s   5C,,C=	c                	  < VP                   p\        P                  P                  V4      '       d/   \	        V4      P                  VP                  4      '       d   Q hR# \        P                  P                  V4      '       d8   VP                  \        P                  P                  \        R V 2R7      4       \        SV `9  V4       R# )r   r%   N)r5   r+   rO   rY   rb   is_dtyper!  rT   r-   r(   r)   r*   r[   r   test_is_dtype_from_namer   r7   r.   r^   r   s   &&& r/   r=  &TestArrowArray.test_is_dtype_from_namen  s    &&88h''E{++EJJ77777xx""8,,##KK%%2!EhZP &  G+E2r1   c                	    R p\         P                  ! \        VR7      ;_uu_ 4        \        V4      P	                  R4       RRR4       R#   + '       g   i     R# ; i)z*'another_type' must end with '\[pyarrow\]'r   another_typeN)r(   r&   r   rb   r7  )r   r7   r9  s   && r/   .test_construct_from_string_another_type_raises=TestArrowArray.test_construct_from_string_another_type_raises}  s9    ;]]9C00K--n= 1000s   AA	c                	0  < VP                   p\        P                  P                  V4      '       g   \        P                  P	                  V4      '       g~   \        P                  P                  V4      '       d   VP                  fK   \        P                  P                  V4      '       g&   \        P                  P                  V4      '       d3   VP                  \        P                  P                  V R2R7      4       \        SV `9  V4       R # )NzB does not have associated numpy dtype findable by find_common_typer   )r5   r+   rO   rU   rX   rV   r   rZ   rT   r-   r(   r)   r*   r   test_get_common_dtyper>  s   &&& r/   rE  $TestArrowArray.test_get_common_dtype  s    &&HHX&&xx))%%h//HKK4Kxx!!(++xx""8,,!!#* %= > "  	%e,r1   c                	   < VP                   p\        P                  P                  V4      '       d   \	        V4      '       g   Q hR # \
        SV `  V4       R # r   )r5   r+   rO   rY   r   r   test_is_not_string_type)r   r7   r^   r   s   && r/   rH  &TestArrowArray.test_is_not_string_type  sA    &&88h''"5))))G+E2r1   z6GH 45419: pyarrow.ChunkedArray does not support views.)r'   runc                	&   < \         SV `  V4       R # r   )r   	test_viewr   r_   r   s   &&r/   rL  TestArrowArray.test_view  s     	$r1   c                	    WP                  4       ( ,          pV^ ,          pVP                  V4      pW1Jg   Q h\        P                  ! W14       R# r   )isnafillnar   r   )r   r_   validr   s   &&  r/   test_fillna_no_op_returns_copy-TestArrowArray.test_fillna_no_op_returns_copy  sC    YY[L!QU#!!!
''5r1   c                	H   VP                  4       pR Vn        VP                  V^,          4      pV^ ,          V^,          8X  g   Q h\        P                  ! W!4       VP                  V^,          4      pV^ ,          V^,          8X  g   Q h\        P                  ! W!4       R# )TN)copy	_readonlyrQ  r   r   )r   rd   r_   r   s   &&  r/   test_fillna_readonly#TestArrowArray.test_fillna_readonly  s      " \!_-ayLO+++
''; \!_-ayLO+++
'';r1   z5GH 45419: pyarrow.ChunkedArray does not support viewsc                	&   < \         SV `  V4       R # r   )r   test_transposerM  s   &&r/   r[  TestArrowArray.test_transpose  s     	t$r1   c                	&   < \         SV `  V4       R # r   )r   test_setitem_preserves_viewsrM  s   &&r/   r^  +TestArrowArray.test_setitem_preserves_views  s     	,T2r1   dtype_backendr!   enginerh   pythonc           	     	n   VP                   P                  p\        P                  P	                  V4      '       d:   VP                  \        P                  P                  \        R V R2R7      4       M\        P                  P                  V4      '       dG   VP                  R9   d6   VP                  \        P                  P                  \        RR7      4       MT\        P                  P                  V4      '       d0   VP                  \        P                  P                  RR7      4       \        P                  ! R\        P                   ! V\#        VP                   4      R7      /4      pV'       g   VP%                  RR	R
7      pM!VP%                  R\&        P(                  R
7      p\        P                  P                  V4      '       d   \+        V4      pM\-        V4      p\        P.                  ! VR\#        VP                   4      /VVR7      p	Tp
\0        P2                  ! W4       R# )zParameterized types z not supported.r%   z1https://github.com/pandas-dev/pandas/issues/49767z)CSV parsers don't correctly handle binaryr   
with_dtyperL   FNA)indexna_rep)r7   ra  r`  Nusns)r7   r5   r+   rO   rT   r-   r(   r)   r*   r[   rV   r   
ValueErrorrZ   r\   	DataFramer   r   to_csvr   r   r   r	   read_csvr   assert_frame_equal)r   ra  r_   r`  r.   r   r^   df
csv_outputr   r   s   &&&&&&     r/   test_EA_typesTestArrowArray.test_EA_types  s    ::++88x((!!.1(?K "  XX""8,,,1N!!%N "  XX))!!)T!U \\<4s4::)OPQt<Jrvv>J88h'' ,J!*-JTZZ1'	
 
f/r1   c                	  < VP                   P                  p\        P                  P	                  V4      '       g   \        P                  P                  V4      '       gg   \        P                  P                  V4      '       gB   VP                  \        P                  P                  \        P                  R V 2R7      4       \        '       de   \        P                  P	                  V4      '       d@   \        P                  ! \        RRR7      ;_uu_ 4        \         SV `E  V4       RRR4       R# \         SV `E  V4       R#   + '       g   i     R# ; i)z$pyarrow.compute.invert does support r%   zBitwise inversionF)r   check_stacklevelN)r7   r5   r+   rO   rP   ru   rY   r-   r(   r)   r*   ArrowNotImplementedErrorr   r   assert_produces_warningDeprecationWarningr   test_invertr   r_   r.   r^   r   s   &&& r/   ry  TestArrowArray.test_invert  s    ::++HH))xx""8,,xx!!(++!!66A(L "  5RXX((22++"*=PU  #D) 
 G%  s   E		E	periodsc           
     	4  < VP                   P                  p\        P                  P	                  V4      '       dM   V^8X  dF   VP                  \        P                  P                  \        P                  RV RV R2R7      4       \        SV `-  W4       R# )r1  z
diff with z and periods=z will overflowr%   N)r7   r5   r+   rO   rS   r-   r(   r)   r*   r,   r   	test_diff)r   r_   r|  r.   r^   r   s   &&&& r/   r~  TestArrowArray.test_diff  sz    ::++88''11gl!!??$XJmG9NS "  	$(r1   c                	    VR ,          pVP                  4       pVP                  \        \        P	                  4       4      8X  g   Q hR# ):N
   NN)value_countsr7   r   r+   int64r   s   && r/   'test_value_counts_returns_pyarrow_int646TestArrowArray.test_value_counts_returns_pyarrow_int64  s6    Cy""$||z"((*5555r1   r{   c                	|    VP                  R 4      pVR8X  d   R pV# VR8X  d   R # \        P                  ! V4      # )_rtruedivc                .    \         P                  ! W4      # r   )r   divider   ys   &&r/   r  1TestArrowArray.get_op_from_name.<locals>.rtruediv  s    yy&r1   	rfloordivc                .    \         P                  ! W4      # r   )r   floor_divider  s   &&r/   r   1TestArrowArray.get_op_from_name.<locals>.<lambda>"  s     5r1   )stripr   get_op_from_name)r   r   short_opnamer  s   &&  r/   r  TestArrowArray.get_op_from_name  sC    }}S):%' O[(55""7++r1   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r/   r   r   (  s     Z Zc Zr1   c                	x	   TpVR
9   d   VP                  R4      # \        P                  ! V4      pRp\        V\        P
                  4      '       d   RpVP                  R,          pMTp\        V4      \        J d;   VR9  d4   VP                  R8X  d   VP                  R4      # VP                  R4      # \        V4      \        J d   VP                  R4      # VP                  p	V'       Eg	   \        V\        P                  4      '       d   \        P                  P                  V	4      '       g   \        P                  P!                  V	4      '       d   VR9  g   \        P                  P#                  V	4      '       gr   \        P                  P%                  V	4      '       gM   \        P                  P'                  V	4      '       g(   \        P                  P)                  V	4      '       g   V# MVR8X  d&   \        P                  P!                  V	4      '       g   \        P                  P#                  V	4      '       gr   \        P                  P%                  V	4      '       gM   \        P                  P'                  V	4      '       g(   \        P                  P)                  V	4      '       g   V# \        P+                  VP,                  4      p
\        P                  P)                  V
P                  4      '       Ed9   \        P                  P)                  V	4      '       Ed   \/        W!4      ! V4      p\        P                  ! V4      p\        V\0        4      '       g   Q hVR8X  d5   \        V\2        4      '       d   \1        \        P5                  4       4      pMVR8X  dP   \        V\        P                  4      '       d0   VP6                  V8X  d   \1        \        P5                  4       4      pM1\        P                  P)                  VP                  4      '       g   Q hVP                  V4      # V
P9                  V	4      p
\        VP,                  4      ! V
4      pV'       d/   \        P
                  ! WP:                  VP<                  R	7      pV# \        P                  ! V4      pV# )eqboolean[pyarrow]FT__floordiv__r  r  r|   __pow__)rf  columns)r  neltlegtge)NNNr   )r  )__truediv____rtruediv__)r   r   	get_dtyper~   r\   rl  ilocrb   intr   floatr5   r   r+   rO   rQ   ru   rW   rV   rU   rT   r]   _valuesr   r   r   r   r7   r   rf  r  )r   r   objotherpointwise_resultr   original_dtype	was_frameexpected_dataorig_pa_typepa_expectedr  	alt_dtypepd_expecteds   &&&&&         r/   _cast_pointwise_result%TestArrowArray._cast_pointwise_result(  sM    $::#**+=>>h/	h--I$MM$/M$M ;#'1A"A""c)'9::'788%[E!??#566 &33yZryy99 $$\22HH''55'FF88''5588((6688##L1188&&|44  &288+>+>|+L+Lxx##L11xx$$\22xx--xx""<00 Ohh}44588{//00RXX5H5H5V5V #'.CS)Ii4444)#
5'(B(B&rzz|4	9$ubii00KK>1 'rzz|4	xx**9+B+BCCCC??9-- &**<8K=001+>||>>8;K;KH
  yy-Hr1   c                	   VR9   ;'       g!    VR9   ;'       d;    \         '       * ;'       d(    \        P                  P                  V4      ;'       g-    VR9   ;'       d     \        P                  P	                  V4      # )__add__r  __radd__r  r  r  __rfloordiv____sub____rsub__)r   r+   rO   rW   r   )r   opnamer^   s   &&&r/   _is_temporal_supported%TestArrowArray._is_temporal_supported  s     11  WX/100/ / $$X.
T 
T //RRBHH4H4H4R
	Tr1   c                    V ^8  d   QhRRRR/# )r   r   r   r   z4type[Exception] | tuple[type[Exception], ...] | Noner   )r   s   "r/   r   r     s         	= r1   c                	p   VR9   d   \         \        3# \        P                  ! V4      pVP                  pV P                  W4      pVR9   d   \         \        3pV# V'       d   RpV# VR9   dO   \        P                  P                  V4      '       g&   \        P                  P                  V4      '       d   RpV# \        P                  P                  V4      '       gS   \        P                  P                  V4      '       g.   \        P                  P                  V4      '       g	   \        pV# RpV# )
__divmod__N)r  __rdivmod__>   __mod____rmod__r  )r[   r   r   r  r5   r  r+   rO   rY   rZ   rQ   ru   rT   )r   r   r  r  r7   r^   arrow_temporal_supportedexcs   &&&&    r/   _get_expected_exception&TestArrowArray._get_expected_exception  s    33'33 S! &&#'#>#>w#Q  
 
 '	2C 
 &C 
 //HHx((BHH,>,>x,H,HC 
 HH  **xx""8,,xx""8,,C 
 C
r1   c                	(   R pV P                  W4      pVR8X  d   \        P                  P                  V4      '       gK   \        P                  P	                  V4      '       g&   \        P                  P                  V4      '       d&   \        P                  P                  RV 2R7      pV# V'       d   \        P                  P                  V4      '       g-   VR
9   dS   \        P                  P                  V4      '       d.   \        P                  P                  \        V RV R2R7      pV# VR8X  d|   \        P                  P	                  V4      '       g&   \        P                  P                  V4      '       d2   \        P                  P                  \        P                  R	R7      pV# VR8X  dU   \        P                  P                  V4      '       d0   \        P                  P                  \        P                  R	R7      pV# )N__rpow__z<GH#29997: 1**pandas.NA == 1 while 1**pyarrow.NA == NULL for r   r  r  z  not supported betweenpd.NA and z Python scalarr%   zdivide by 0r  )r  r+   rO   rQ   ru   rT   r(   r)   r*   rX   rW   r   r,   )r   r  r^   r)   r  s   &&&  r/   _get_arith_xfail_marker&TestArrowArray._get_arith_xfail_marker  s   #'#>#>v#P ZHH  **xx""8,,xx""8,,;;$$#*& % DB 7 &HHX&&STHH((22 ;;$$ h>xjW % D&  &HH))RXX-@-@-J-J;;$$$ % D  ~%"((*=*=h*G*G;;$$$ % D
 r1   c                	"  < VP                   P                  pVR 8X  d<   \        P                  P	                  V4      '       d   \
        P                  ! R4       V P                  W$4      pVe   VP                  V4       \        SV `)  W4       R# r  z%Skip testing Python string formattingN)r7   r5   r+   rO   rZ   r(   skipr  r-   r   test_arith_series_with_scalarr   r_   all_arithmetic_operatorsr.   r^   r)   r   s   &&&&  r/   r  ,TestArrowArray.test_arith_series_with_scalar  sm    ::++#z1bhh6H6H6R6RKK?@++,DO%-dMr1   c                	l  < VP                   P                  pVR 8X  da   \        P                  P	                  V4      '       g&   \        P                  P                  V4      '       d   \        P                  ! R4       V P                  W$4      pVe   VP                  V4       \        SV `-  W4       R# r  )r7   r5   r+   rO   rY   rZ   r(   r  r  r-   r   test_arith_frame_with_scalarr  s   &&&&  r/   r  +TestArrowArray.test_arith_frame_with_scalar  s    ::++#z1HHx((BHH,>,>x,H,HKK?@++,DO%,TLr1   c                	\   VP                   P                  pVR9   dg   \        P                  P	                  V4      '       dB   VP                  \        P                  P                  \        P                  RV 2R7      4       V P                  W$4      pVe   VP                  V4       Tp\        P                  ! V4      p\        P                  ! \        P                  ! VP                  ^ ,          .\        V4      ,          VP                   R7      4      pV P!                  WvV4       R# )r  zJImplemented pyarrow.compute.subtract_checked which raises on overflow for r%   NrL   r  )r7   r5   r+   rO   rS   r-   r(   r)   r*   r,   r  r\   r   r]   r  lencheck_opname)	r   r_   r  r.   r^   r)   r   r   r  s	   &&&&     r/   test_arith_series_with_array+TestArrowArray.test_arith_series_with_array  s    ::++# (
 
 hh**844!!??88@zC "  ++,DO%*iio 		"((CHHQK=3s8#;4::NO#.r1   c                	  < VP                   P                  pVP                  R 4      '       dB   VP                  \        P
                  P                  \        P                  RV 2R7      4       \        SV `)  V4       R# )int8zraises on overflow for r%   N)r7   r5   equalsr-   r(   r)   r*   r+   r,   r   $test_add_series_with_extension_arrayrz  s   &&& r/   r  3TestArrowArray.test_add_series_with_extension_array  sf    ::++??6""!!??4XJ? "  	4T:r1   c                	    \         P                  ! \        R R7      ;_uu_ 4        V! V\        4       4       RRR4       R#   + '       g   i     R# ; i)z'.* not implemented for <class 'object'>r   N)r(   r&   r[   r   )r   r_   r   s   &&&r/   test_invalid_other_comp&TestArrowArray.test_invalid_other_comp#  s<    ]]'P
 
 $)
 
 
 
s   AA	masked_dtypec                	   . ROp\         P                  ! W1R7      p\         P                  ! W1P                  4        R2R7      pV! WT4      pV\        P                  \        P
                  \        P                  39   d   . ROpM. ROp\         P                  ! V\        \        P                  4       4      R7      p\        P                  ! Wh4       R# )r1  NrL   r2  )r1  r   N)FFN)TTN)r\   r   loweroperatorr  r  r  r   r+   bool_r   r   )	r   r  r   r_   
ser_maskedser_par   expr   s	   &&&      r/   test_comp_masked_numpy%TestArrowArray.test_comp_masked_numpy*  s     YYt8
4*<*<*>)?y'IJv2X[[(++x{{CC&C$C99S
288:(>?
v0r1   c                	   < VP                   P                  p\        P                  P	                  V4      '       d2   \
        P                  P                  R R7      pVP                  V4       \        SV `)  V4       R# )z4GH#62343 incorrectly casts to timestamp[ms][pyarrow]r   N)r7   r5   r+   rO   rU   r(   r)   r*   r-   r   8test_loc_setitem_with_expansion_preserves_ea_index_dtype)r   r_   r.   r^   r)   r   s   &&&  r/   r  GTestArrowArray.test_loc_setitem_with_expansion_preserves_ea_index_dtype8  s`    ::++88H%%;;$$M % D %HNr1   r   )r  uint64r   rM   )booleanInt64r   )9__name__
__module____qualname____firstlineno__r   r   r(   r)   parametrizer   r   r   r   r   r   r   r   r   r  r  r  r%  filterwarningsr(  r-  r4  r8  r=  rB  rE  rH  r*   rL  rS  rX  r[  r^  r   rr  ry  r~  r  _combine_le_expected_dtyper  r  r  r  r  r  r  r  r  r  r  r  __static_attributes____classcell__r   s   @r/   ry   ry     s   (? [[[4*:;: <:&&&=Q
6D"* [[Xe}54 64:)V1* [[Xe}5X 6X$%N [[ 89[[Xe}5X 6 :X" [[Xe}5O 6O [[U$BC D
;(3>
-&3 [[GU    6< [[FE  %% [[FE  33 [[_y*.EF[[XX7$0 8 G$0L&* [[YB0) 1)6 "1, ZxT D+Z
NM/:
;* [[^-LM1 N1O Or1   ry   c                     ] tR tRtRtR t]P                  P                  RR. RO3]	P                  . RO3R. RO3]P                  ! R4      . RO3R. RO3]P                  ! R4      . RO3.4      R 4       tR	 t]P                  P                  RR. RO3]	P                  . RO3R. RO3R. RO3]P                  ! R4      . RO3]P                  ! R4      . RO3.4      R
 4       tR t]P                  P                  RR. RO3]	P                  . RO3R. RO3]P                  ! R4      . RO3]P                  ! R4      . RO3.4      R 4       t]P                  P                  RRR.RR.RR..4      R 4       tRtR# )TestLogicalOpsiB  z1Various Series and DataFrame logical ops methods.c                	   \         P                  ! R .^,          R.^,          ,           R.^,          ,           RR7      p\         P                  ! . RO^,          RR7      pW,          p\         P                  ! . RORR7      p\        P                  ! W44       W!,          p\        P                  ! W44       \        P                  ! V\         P                  ! R .^,          R.^,          ,           R.^,          ,           RR7      4       \        P                  ! V\         P                  ! . RO^,          RR7      4       R# )TFNr  rL   TFN)	TTTTFNTNNr\   r   r   r   r   rA   rB   r   r   s   &    r/   test_kleene_orTestLogicalOps.test_kleene_orE  s    IItfqjE7Q;.$!;CUVII)A-5GH99C$
 	v0
v0 	IItfqjE7Q;.$!;CUV	
 	ryy,q08JK	
r1   zother, expectedNTFc                	@   \         P                  ! . RORR7      pW1,          p\         P                  ! VRR7      p\        P                  ! WB4       W,          p\        P                  ! WB4       \        P                  ! V\         P                  ! . RORR7      4       R# TNr  rL   r  r  r   r  r   rA   r   s   &&&  r/   test_kleene_or_scalar$TestLogicalOps.test_kleene_or_scalar[  s     II)1CD99X-?@
v0
v0 	ryy,4FG	
r1   c                	   \         P                  ! R .^,          R.^,          ,           R.^,          ,           RR7      p\         P                  ! . RO^,          RR7      pW,          p\         P                  ! . RORR7      p\        P                  ! W44       W!,          p\        P                  ! W44       \        P                  ! V\         P                  ! R .^,          R.^,          ,           R.^,          ,           RR7      4       \        P                  ! V\         P                  ! . RO^,          RR7      4       R# )TFNr  rL   r  )	TFNFFFNFNr  r  s   &    r/   test_kleene_andTestLogicalOps.test_kleene_andt  s    IItfqjE7Q;.$!;CUVII)A-5GH99G$
 	v0
v0 	IItfqjE7Q;.$!;CUV	
 	ryy,q08JK	
r1   c                	@   \         P                  ! . RORR7      pW1,          p\         P                  ! VRR7      p\        P                  ! WB4       W,          p\        P                  ! WB4       \        P                  ! V\         P                  ! . RORR7      4       R# r
  r  r  s   &&&  r/   test_kleene_and_scalar%TestLogicalOps.test_kleene_and_scalar  r  r1   c                	   \         P                  ! R .^,          R.^,          ,           R.^,          ,           RR7      p\         P                  ! . RO^,          RR7      pW,          p\         P                  ! . RORR7      p\        P                  ! W44       W!,          p\        P                  ! W44       \        P                  ! V\         P                  ! R .^,          R.^,          ,           R.^,          ,           RR7      4       \        P                  ! V\         P                  ! . RO^,          RR7      4       R# )TFNr  rL   r  )	FTNTFNNNNr  r  s   &    r/   test_kleene_xorTestLogicalOps.test_kleene_xor  s    IItfqjE7Q;.$!;CUVII)A-5GH99D$
 	v0
v0 	IItfqjE7Q;.$!;CUV	
 	ryy,q08JK	
r1   c                	@   \         P                  ! . RORR7      pW1,          p\         P                  ! VRR7      p\        P                  ! WB4       W,          p\        P                  ! WB4       \        P                  ! V\         P                  ! . RORR7      4       R# r
  r  r  s   &&&  r/   test_kleene_xor_scalar%TestLogicalOps.test_kleene_xor_scalar  ss     II)1CD99X-?@
v0
v0 	ryy,4FG	
r1   zop, exp__and____or____xor__c                	(   . ROp\         P                  ! VRR7      p\         P                  ! VRR7      p\        WQ4      ! V4      p\         P                  ! VRR.\        \        P                  4       4      R7      p\        P                  ! Wg4       R# )TFNr  rL   r  r  )r\   r   r   r   r+   r  r   r   )r   opr  r_   r  r  r   r   s   &&&     r/   test_logical_masked_numpy(TestLogicalOps.test_logical_masked_numpy  si     #YYt95
4'9:$Z099c5$/z"((*7MN
v0r1   r   )TNN)TTTr  )NFNFFFNNN)FTN)r  r  r  r  __doc__r  r(   r)   r  r\   re  r   r  r  r  r  r  r  r   r  r   r1   r/   r  r  B  s   ;
, [[%&UU&'%&XXd^/0'(XXe_12	





, [[&'UU'(&')*XXd^01XXe_34	





, [[%&UU&'&'XXd^01XXe_12	
	
	
 [[t	
11r1   r  r   c                   \        V 4      p\        P                  ! . ROVR7      p\        P                  ! . ROVR7      pW#,          p\        P                  ! . ROVR7      p\        P                  ! WE4       W#,          p\        P                  ! . ROVR7      p\        P                  ! WE4       W#,          p\        P                  ! . ROVR7      p\        P                  ! WE4       V( pVP                  ^ 4      P                  4       ( p\        P                  ! WQR7      P                  VP                  4       4      p\        P                  ! WE4       R# )r1  NrL   )r1  N      )Nr&     r'  )NN   r'  )NNr1  r'  )NN   r   )	r   r\   r   r   r   rQ  r   maskisnull)r   r7   r   r   r   r   s   &     r/   test_bitwiser-    s     wE99_E2DIIoU3E\Fyy35AH6,\Fyy35AH6,\Fyy35AH6,UFQ((*+Hyy/44T[[]CH6,r1   c                 `   \         P                  ! \        R R7      ;_uu_ 4        \        P                  ! R4       RRR4       \         P                  ! \        R R7      ;_uu_ 4        \        P                  ! R4       RRR4       R#   + '       g   i     LU; i  + '       g   i     R# ; i)zPassing pyarrow typer   z#not_a_real_dype[s, tz=UTC][pyarrow]Nzdecimal(7, 2)[pyarrow])r(   r&   r[   r   r7  r   r1   r/   Ftest_arrowdtype_construct_from_string_type_with_unsupported_parametersr/    sn    	*2H	I	I(()NO 
J 
*2H	I	I(()AB 
J	I 
J	I 
J	I	Is   B	(B	B	B-	c                     \         P                  ! R 4      p \        \        P                  RR4      4      pW8X  g   Q hR# )ztimestamp[s, tz=UTC][pyarrow]r  UTCN)r   r7  r+   	timestamp)r7   r   s     r/   5test_arrowdtype_construct_from_string_supports_dt64tzr3    s4    ,,-LME",,sE23Hr1   c                     R p Rp\         P                  ! \        VR7      ;_uu_ 4        \        P                  ! \        ^4      V R7       RRR4       R#   + '       g   i     R# ; i)zint64[pyarrow]foobar[pyarrow]zYPassing pyarrow type specific parameters \(\[pyarrow\]\) in the string is not supported\.r   rL   N)r(   r&   r[   r\   r   range)invalidr9  s     r/   ;test_arrowdtype_construct_from_string_type_only_one_pyarrowr7    sF    -G	%  
*#	6	6
		%('* 
7	6	6	6s   "AA&	c                    \         P                  ! R R.\        \        P	                  4       4      R7      p \         P                  ! ^R.RR7      pW,          p\         P                  ! RR.\        \        P	                  4       4      R7      p\
        P                  ! W#4       W,          p\
        P                  ! W$4       R# )abcdefgrL   r|   abcabc NrM   r\   r   r   r+   r   r   r   )binaryrepeatr   r   reflected_results        r/    test_arrow_string_multiplicationrA    s    YYvj.EFFYY2w&67F_Fyy(Bz"))+/FGH6,64r1   c                 V   \         P                  ! R R.\        \        P	                  4       4      R7      p V ^,          p\         P                  ! RR.\        \        P	                  4       4      R7      p\
        P                  ! W4       ^V ,          p\
        P                  ! W24       R# )r9  r:  rL   r;  defgdefgNr=  )r>  r   r   r@  s       r/   .test_arrow_string_multiplication_scalar_repeatrD  !  sq    YYvj.EFFaZFyy(J/z"))+7NOH6,6z+6r1   interpolationr  quantiler;   c                   V P                   P                  pV P                  . RO4      p \        P                  ! V 4      p\
        P                  P                  V4      '       gK   \
        P                  P                  V4      '       g&   \
        P                  P                  V4      '       dN   Rp\        P                  ! \
        P                  VR7      ;_uu_ 4        VP                  W!R7       RRR4       R# \
        P                  P                  V4      '       gK   \
        P                  P                  V4      '       g&   \
        P                  P!                  V4      '       d   M{\
        P                  P#                  V P$                  P&                  4      '       d   MAVP)                  \        P*                  P-                  \
        P                  RV 2R7      4       V P                  . RO4      p \        P                  ! V 4      pVP                  W!R7      p\
        P                  P/                  V4      '       d   VR9  d   VP0                  '       d   RVP2                   RVP0                   R	2pMRVP2                   R	2pVP5                  V4      p	V	P                  W!R7      p
VR
8X  d/   VP2                  R8X  d   V
P7                  RR7      p
Wz8X  g   Q h R# VP2                  R8X  d   V
P8                  P;                  R4      p
\<        P>                  ! WzP5                  V P                   4      4       R# VR
8X  d   Wp^ ,          8X  g   Q hR# \        P                  ! V P                  ^ ^ .4      R
R
.R7      p
\
        P                  P                  V4      '       gK   \
        P                  P                  V4      '       g&   \
        P                  P!                  V4      '       d#   V
P5                  R4      p
VP5                  R4      p\<        P>                  ! Wz4       R#   + '       g   i     R# ; i)r   z=Function 'quantile' has no kernel matching input types \(.*\)r   )qrE  Nz&quantile not supported by pyarrow for r%   zM8[z, ]r;   ri  F)warnrf  r  r   r   r   )r  higher) r7   r5   taker\   r   r+   rO   rY   rZ   rP   r(   r&   rv  rF  ru   rQ   rT   r   r   rb   r-   r)   r*   rV   r   r   r   to_pydatetimedtfloorr   r   )r_   rE  rF  r.   r^   r   r9  r   pd_dtypeser_npr   s   &&&&       r/   test_quantilerT  *  s   
 zz''H99YD
))D/C 	8$$88h''88x(( O]]266cBBLL8LA C 	H%%88))88x((			dnn11	2	2KK22?zJ  	
 99YD
))D/C\\H\BF	xxX&&=@S+S ;;;X]]O2hkk]!<HX]]O1-HH%??X?Ks?}}$#11u1=%%%
 	 }}$#;;,,T2""6??4::+FG3a    99TYY1v.sCjAHH))xx##H--xx""8,,'9:H]]#56F
v0q CBs   P//Q 	ztake_idx, exp_idx
multi_modesingle_mode)r3   c                    V P                  V4      p\        P                  ! V4      pVP                  R R7      p\        P                  ! V P                  V4      4      p\        P
                  ! WV4       R# )TdropnaN)rN  r\   r   moder   r   )rm   take_idxexp_idxr_   r   r   r   s   &&&    r/   test_mode_dropna_truer]  w  sY     !!(+D
))D/CXXTX"Fyy*//89H6,r1   c                   \         P                  ! R R V ^ ,          .V P                  R7      pVP                  RR7      p\         P                  ! R .V P                  R7      p\        P
                  ! W#4       \         P                  ! V ^ ,          R .V P                  R7      pVP                  RR7      p\        P
                  ! W#4       R # )NrL   FrX  )r\   r   r7   rZ  r   r   )r_   	more_nansr   r   s   &   r/   test_mode_dropna_false_mode_nar`    s    		4tAw/tzzBI^^5^)Fyy$tzz2H6,yy$q'4

;H]]%](F6,r1   zarrow_dtype, expected_typef1f2c                >    \        V 4      P                  V8X  g   Q hR # r   )r   rb   )arrow_dtypeexpected_types   &&r/   test_arrow_dtype_typerf    s    " k"''=888r1   c                    \        \        P                  . RO4      4      p \        V 4      '       g   Q h\        P
                  P                  P                  V 4      '       g   Q h\        P                  ! \        \        V 4      4      4      pW,          pV\        P                  ! V 4      ,          p\        P                  ! W#4       R# )TNTFT)r"   r+   r]   r   r\   corecommonis_bool_indexerr   r5  r  r   asarrayr   r   )r_   r  r   r   s       r/   test_is_bool_dtyperm    s    rxx(;<=D77>>))$////
		%D	"#AWFD!"H6,r1   c                `   V P                   P                  p\        P                  P	                  V4      '       gK   \        P                  P                  V4      '       g&   \        P                  P                  V4      '       d   \        V 4      '       g   Q hR # \        V 4      '       d   Q hR # r   )r7   r5   r+   rO   rQ   ru   rT   r   r_   r   s   & r/   test_is_numeric_dtyperp    su    jj&&G
W%%88w''88w''%%%%#D)))))r1   c                    V P                   P                  p\        P                  P	                  V4      '       d   \        V 4      '       g   Q hR # \        V 4      '       d   Q hR # r   )r7   r5   r+   rO   ru   r   ro  s   & r/   test_is_integer_dtyperr    sK    jj&&G	xx7##%%%%#D)))))r1   c                    V P                   P                  p\        P                  P	                  V4      '       d   \        V 4      '       g   Q hR # \        V 4      '       d   Q hR # r   )r7   r5   r+   rO   rR   r   ro  s   & r/   test_is_signed_integer_dtypert    sK    jj&&G	xx!!'**&t,,,,*400000r1   c                    V P                   P                  p\        P                  P	                  V4      '       d   \        V 4      '       g   Q hR # \        V 4      '       d   Q hR # r   )r7   r5   r+   rO   rS   r   ro  s   & r/   test_is_unsigned_integer_dtyperv    sK    jj&&G	xx##G,,(....,T22222r1   c                   V P                   P                  p\        P                  P	                  V4      '       g&   \        P                  P                  V4      '       d   \        V 4      '       g   Q hR # \        V 4      '       d   Q hR # r   )r7   r5   r+   rO   rV   rU   r   ro  s   & r/   test_is_datetime64_any_dtyperx    s_    jj&&G	xxW%%)9)9')B)B&t,,,,*400000r1   c                    V P                   P                  p\        P                  P	                  V4      '       d   \        V 4      '       g   Q hR # \        V 4      '       d   Q hR # r   )r7   r5   r+   rO   rQ   r   ro  s   & r/   test_is_float_dtyperz    sK    jj&&G	xxG$$d####!$'''''r1   c                   \         P                  ! V 4      pVP                  ^4      p\        P                  ! V4      p\        P                  ! V4      p\        V4      \        V4      8  g   Q h\        P                  ! V4      p\        P                  ! WQ4       \        P                  ! V4      p\        P                  ! Wb4       R# )r   N)	r\   r   headpickledumpsr  loadsr   r   )r_   r   expected_slicedfull_pickledsliced_pickledr   result_sliceds   &      r/   test_pickle_roundtripr    s    yyHmmA&O<<)L\\/2N|s>2222\\,'F6,LL0M=:r1   c                R   V P                  4       p\        P                  ! WP                  R 7      pVP	                  V P                  4      p\        VP                  \        4      '       d   Q h\        VP                  \        4      '       g   Q h\        P                  ! W04       R# r   )	r   r\   r]   r7   r   r~   r   r   r   )r_   np_arrpd_arrayr   s   &   r/   test_astype_from_non_pyarrowr    sm    ]]_Fxxll3H__TZZ(F(..*5555fllJ////##F1r1   c                     \         P                  ! R .4      p V P                  R4      p\         P                  ! R.RR7      p\        P                  ! W4       R# )1.0r  r9   rL   Nr\   r   r   r   r   r   r   r   s      r/   &test_astype_float_from_non_pyarrow_strr    sB    
))UG
CZZ*+Fyy#&89H6,r1   c                     \         P                  ! R R./RR7      p V P                  RRR7      p\        P                  ! W4       R# )coli@fr   rL   float[pyarrow]r   )errorsN)r\   rl  r   r   ro  )r   r   s     r/   test_astype_errors_ignorer    s;    ||UXJ/7GHH__-h_?F&+r1   c                   V P                  4       pV P                  P                  p\        P                  P                  V4      '       g&   \        P                  P                  V4      '       d   \        P                  ! R 4       Me\        P                  P                  V4      '       d!   \        P                  ! \        V 4      4      pM \        P                  ! V P                  4      pV P                  '       d`   \        V P                  4      '       d	   V'       g=   XP!                  \"        4      p\$        P&                  V\$        P(                  ! V 4      &   \*        P,                  ! VX4       R# )z Tested in test_to_numpy_temporalN)r   r   rb   r+   rO   rW   rV   r(   r  rU   r   r]   r   _hasnar   r7   r   r   r\   re  rP  r   r   )r_   r   r   r   r   s   &&   r/   test_to_numpy_with_defaultsr    s    ]]_Fnn!!G	xxG$$(=(=g(F(F67			'	"	"88DJ'88DNN+{{{,TZZ88??6*"$%%1r1   c                ~   ^R.p\         P                  ! VRR7      pVP                  4       pV '       g.   \        P                  ! ^\         P                  .\
        R7      pME\        P                  ! ^\        P                  .4      p\        V^ ,          \        4      '       g   Q h\        P                  ! W44       R# r1  Nr|   rL   )r\   r]   r   r   re  r   r   r~   r  r   r   )r   r_   r#  r   r   s   &    r/   test_to_numpy_int_with_nar  !  s}    t9D
((4/
0C\\^F88QJf588QK(&)U++++1r1   zna_val, expc                   \         P                  ! \         P                  \         P                  .R R7      pVP                  RV R7      p\        P                  ! V.^,          RR7      p\
        P                  ! W44       R# )null[pyarrow]rL   r   r   Nr\   r]   re  r   r   r   r   )na_valr  r#  r   r   s   &&   r/   test_to_numpy_null_arrayr  .  sV     ((BEE255>
9C\\	F\;Fxx	3H1r1   c                    \         P                  ! \         P                  \         P                  .R R7      p V P                  RR7      p\        P                  ! \         P                  .^,          RR7      p\
        P                  ! W4       R# )r  rL   Nr   r  r#  r   r   s      r/   !test_to_numpy_null_array_no_dtyper  7  sV    
((BEE255>
9C\\\%Fxx!84H1r1   c                    \         P                  ! R \         P                  .RR7      p V P                  RR7      p\        P                  ! R R.\        P
                  R7      p\        P                  ! W4       \         P                  ! R\         P                  .RR7      p V P                  RR7      p\        P                  ! RR.\        P                  R7      p\        P                  ! W4       R# )	Tr  rL   F)r   r9   r   r:   N)	r\   r]   re  r   r   r  r   r   float32r  s      r/   test_to_numpy_without_dtyper  ?  s    
((D"%%=(:
;C\\5\)FxxuRXX6H1
((C<'9
:C\\3\'Fxxc
"**5H1r1   c                   V P                  4       pVP                  4       pV ^ ,          VR&   \        P                  ! V ^ ,          .\        V 4      ,          V P                  R7      p\
        P                  ! W#4       VP                  4       pV RRR1,          VR&   V RRR1,          p\
        P                  ! W#4       VP                  4       pV P                  4       VR&   T p\
        P                  ! W#4       R# )r   r  rL   NrN   )rV  r"   rc   r  r7   r   r   tolist)r_   origr   r   s   &   r/   test_setitem_null_slicer  L  s    99;DYY[FQF1I"11	a	CIjjH ##F5YY[FTrT
F1IDbDzH##F5YY[FF1IH##F5r1   c                x   V P                   P                  p\        P                  P	                  V4      '       g&   \        P                  P                  V4      '       d   ^{p\        pRpM\        P                  P                  V4      '       gK   \        P                  P                  V4      '       g&   \        P                  P                  V4      '       d   Rp\        P                  pRpM
Rp\        pRp\        P                  ! W4R7      ;_uu_ 4        W R&   RRR4       R#   + '       g   i     R# ; i){   zInvalid value '123' for dtypefoozCould not convertzInvalid value 'foo' for dtyper   r  N)r   rb   r+   rO   rY   rZ   r   ru   rQ   rP   r,   r(   r&   )r_   r   
fill_valueerrr9  s   &    r/   test_setitem_invalid_dtyper  c  s    nn!!G	xx'""bhh&8&8&A&A
-
G$$88((88w''
oo!
-	s	&	&Q 
'	&	&	&s   D((D9	c                 (   \         P                  \        P                  ! R 4      \        P                  ! R 4      .\         P	                  4       R7      p V P                  \         P	                  4       \        \         P                  4       4      /P                  R7      p\        P                  ! \        P                  ! R 4      \        P                  ! R 4      .\        \         P                  4       4      R7      p\        P                  ! W4       R# )z
2019-12-31rb   types_mapperrL   N)r+   r]   r\   	Timestampdate32	to_pandasr   date64getr   r   r   )
date_arrayr   r   s      r/   &test_from_arrow_respecting_given_dtyper  z  s    	l	#R\\,%?@ryy{  J !!iik:biik#:;?? " F yy	l	#R\\,%?@%H 6,r1   c            	        \         P                  R R.\         P                  4       R7      p \        P                  ! \         P
                  4      ;_uu_ 4        V P                  \         P                  4       \        \         P                  4       4      /P                  R7       RRR4       R#   + '       g   i     R# ; i)r3        @r  r  N)
r+   r]   r   r   external_error_raisedr,   r  r   r  r  )r]   s    r/   -test_from_arrow_respecting_given_dtype_unsafer    sl    HHc3ZbjjlH3E		!	!"//	2	2bjjlJrxxz4J%K%O%OP 
3	2	2	2s   AB..B?	c                    R p \         P                  ! RRR\         P                  .V R7      pVP                  ^4      p\         P                  ! RRR\         P                  .V R7      p\        P
                  ! W#4       \         P                  ! R\         P                  R.V R7      pVP                  R4      p\         P                  ! R	\         P                  R
.V R7      p\        P
                  ! W#4       R# )r  r:   gGz?g{Gz@rL   g333333?g@g^@gp=
cL@g      ^@g      N@NrN   )r\   r   re  roundr   r   r7   r   r   r   s       r/   
test_roundr    s    E
))S$bee,E
:CYYq\Fyy#sC/u=H6,
))UBEE5)
7CYYr]Fyy%-U;H6,r1   c                @   V w  r#pV P                  . RO4      p\        P                  VR&   V'       d   \        P                  ! V4      pRp\        P
                  ! \        VR7      ;_uu_ 4        VP                  V4       RRR4       R#   + '       g   i     R# ; i)r   zOsearchsorted requires array to be sorted, which is impossible with NAs present.r   N)r   r   r1  rN   )rN  r\   re  r   r(   r&   rk  searchsorted)rp   	as_seriesrB   rh   rA   r#  r9  s   &&     r/    test_searchsorted_with_na_raisesr    sr    GA!


	
*CeeCGiin	0  
z	-	- 
.	-	-	-s   0BB	c                 d   \         P                  ! R \         P                  ! RR.\        \        P                  \        P                  4       \        P                  4       4      4      R7      R^^./4      p V P                  4       pV P                  R R.R7      p\        P                  ! W!4       R# )rA   r   r  rL   rB   )byN)r\   rl  r   r   r+   
dictionaryint32r   rV  sort_valuesr   ro  )rp  r   r   s      r/   test_sort_values_dictionaryr    s    	c
*R]]288:ryy{-S"T !Q		

B wwyH^^Sz^*F&+r1   patr9  z	a[a-z]{2}c                <   \         P                  ! R R.\        \        P	                  4       4      R7      pVP
                  P                  V 4      p\         P                  ! ^R.\        \        P                  4       4      R7      p\        P                  ! W#4       R# r9  NrL   )
r\   r   r   r+   r   r   r	  r  r   r   )r  r   r   r   s   &   r/   test_str_countr    s`    
))UDMBIIK)@
ACWW]]3Fyy!T*RXXZ*@AH6,r1   c                 ,   \         P                  ! R R.\        \        P	                  4       4      R7      p \
        P                  ! \        RR7      ;_uu_ 4        V P                  P                  R ^R7       RRR4       R#   + '       g   i     R# ; i)r9  NrL   z	count notr   flags)
r\   r   r   r+   r   r(   r&   r[   r   r	  r   s    r/    test_str_count_flags_unsupportedr    sV    
))UDMBIIK)@
AC	*+	>	>e1% 
?	>	>	>   BB	zside, str_funcr   rjustr   ljustbothcenterc                d   \         P                  ! R R.\        \        P	                  4       4      R7      pVP
                  P                  ^V RR7      p\         P                  ! \        R V4      ! ^R4      R.\        \        P	                  4       4      R7      p\        P                  ! W44       R# )rA   NrL   r   )widthsidefillchar)
r\   r   r   r+   r   r   padr   r   r   )r  str_funcr   r   r   s   &&   r/   test_str_padr    s|     ))S$Kz"))+'>
?CWW[[qtc[:Fyy	h	3	'.j6MH 6,r1   c                 ,   \         P                  ! R R.\        \        P	                  4       4      R7      p \
        P                  ! \        RR7      ;_uu_ 4        V P                  P                  ^RR4       RRR4       R#   + '       g   i     R# ; i)rA   NrL   zInvalid side: foor   r  r   )
r\   r   r   r+   r   r(   r&   rk  r   r  r  s    r/   test_str_pad_invalid_sider    sV    
))S$Kz"))+'>
?C	z)<	=	=Auc" 
>	=	=	=r  zpat, case, na, regex, expabFTAbz	a[a-z]{1}z	A[a-z]{1}c                <   \         P                  ! R R.\        \        P	                  4       4      R7      pVP
                  P                  WW#R7      p\         P                  ! V\        \        P                  4       4      R7      p\        P                  ! Wg4       R# )r9  NrL   )casenaregex)
r\   r   r   r+   r   r   containsr  r   r   )r  r  r  r  r  r   r   r   s   &&&&&   r/   test_str_containsr    se     ))UDMBIIK)@
ACWWcAFyyJrxxz$:;H6,r1   c                 ,   \         P                  ! R R.\        \        P	                  4       4      R7      p \
        P                  ! \        RR7      ;_uu_ 4        V P                  P                  R^R7       RRR4       R#   + '       g   i     R# ; i)r9  NrL   zcontains notr   rA   r  )
r\   r   r   r+   r   r(   r&   r[   r   r  r  s    r/   #test_str_contains_flags_unsupportedr    sZ    
))UDMBIIK)@
AC	*.	A	AA& 
B	A	A	Ar  zside, pat, na, exp
startswithrB   endswithbcrA   c                <   \         P                  ! . RO\        \        P	                  4       4      R7      p\        VP                  V 4      ! WR7      p\         P                  ! V\        \        P                  4       4      R7      p\        P                  ! WV4       R# )r9  NrL   )r  )r9  Nefg
r\   r   r   r+   r   r   r   r  r   r   )r  r  r  r  r   r   r   s   &&&&   r/   test_str_start_ends_withr    s^     ))(
299;0G
HCSWWd#C/FyyJrxxz$:;H6,r1   r  c                >   \         P                  ! R R .\        \        P	                  4       4      R7      p\        VP                  V 4      ! R4      p\         P                  ! R R .\        \        P                  4       4      R7      p\        P                  ! W#4       R # )NrL   r   r  )r  r   r   r   s   &   r/   /test_str_starts_ends_with_all_nulls_empty_tupler    se    
))T4L
299;(?
@CSWWd#B'F yy$Z
-CDH6,r1   zarg_name, argreplr  r  c                B   \         P                  ! R R.\        \        P	                  4       4      R7      pRRRRRR/pWV &   \
        P                  ! \        R	R
7      ;_uu_ 4        VP                  P                  ! R/ VB  RRR4       R#   + '       g   i     R# ; i)r9  NrL   r  rB   r  r   r  Tzreplace is not supportedr   r   )
r\   r   r   r+   r   r(   r&   r[   r   replace)arg_nameargr   kwargss   &&  r/   test_str_replace_unsupportedr    ss    
 ))UDMBIIK)@
ACS&#w5F8	*2L	M	M!&! 
N	M	M	Ms   &BB	zpat, repl, n, regex, expr   xbxcxbacz[a-b]xxxcc                <   \         P                  ! R R.\        \        P	                  4       4      R7      pVP
                  P                  WW#R7      p\         P                  ! V\        \        P	                  4       4      R7      p\        P                  ! Wg4       R# )abacNrL   )nr  )	r\   r   r   r+   r   r   r  r   r   )r  r  r  r  r  r   r   r   s   &&&&&   r/   test_str_replacer    sb     ))VTN*RYY[*A
BCWW__S!_9FyyJryy{$;<H6,r1   c                 4   \         P                  ! R R.\        \        P	                  4       4      R7      p V P
                  P                  RRRR4      p\         P                  ! RR.\        \        P	                  4       4      R7      p\        P                  ! W!4       V P                  \         P                  ! RR7      4      pVP
                  P                  RRRR4      pVP                  VP                  4      p\        P                  ! WT4       V P                  \         P                  ! R\        P                  R	7      4      pVP
                  P                  RRRR4      pVP                  VP                  4      p\        P                  ! W4       R
# )r9  aaaaaarL   rA   r<  Tr  r!   storage)r  r   N)r\   r   r   r+   r   r   r  r   r   r   StringDtyper7   r   r   )	r   actualr   ser2actual2	expected2ser3actual3	expected3s	            r/   test_str_replace_negative_nr  +  s   
))UH%Z		-D
ECWW__S"b$/Fyy$:biik+BCH8, ::bnnY78DhhsBD1G

+I9.::bnnYHIDhhsBD1G

+I9.r1   c                 ,   \         P                  ! R R.\        \        P	                  4       4      R7      p \
        P                  ! \        RR7      ;_uu_ 4        V P                  P                  ^^.4       RRR4       R#   + '       g   i     R# ; i)r9  NrL   zrepeat is notr   )
r\   r   r   r+   r   r(   r&   r[   r   r?  r  s    r/   test_str_repeat_unsupportedr  >  sW    
))UDMBIIK)@
AC	*/	B	B1v 
C	B	B	Br  c                 <   \         P                  ! R R.\        \        P	                  4       4      R7      p V P
                  P                  ^4      p\         P                  ! RR.\        \        P	                  4       4      R7      p\        P                  ! W4       R# )r9  NrL   r;  )	r\   r   r   r+   r   r   r?  r   r   r  s      r/   test_str_repeatr  D  sa    
))UDMBIIK)@
ACWW^^AFyy(D)BIIK1HIH6,r1   zpat, case, na, expc                <   \         P                  ! R R.\        \        P	                  4       4      R7      pVP
                  P                  WVR7      p\         P                  ! V\        \        P                  4       4      R7      p\        P                  ! WV4       R# )r9  NrL   r  r  )
r\   r   r   r+   r   r   r   r  r   r   r  r  r  r  r   r   r   s   &&&&   r/   test_str_matchr  K  sb     ))UDMBIIK)@
ACWW]]3b]1FyyJrxxz$:;H6,r1   Abcabc$zabc\$zAbc$zAbc\$z(abc)|(abx)z((abc)|(abx))c                <   \         P                  ! . RO\        \        P	                  4       4      R7      pVP
                  P                  WVR7      p\         P                  ! V\        \        P                  4       4      R7      p\        P                  ! WV4       R# )r9  NrL   r  )r9  r  z$abcN)
r\   r   r   r+   r   r   	fullmatchr  r   r   r  s   &&&&   r/   test_str_fullmatchr  ]  sb    , ))1BIIK9P
QCWWs"5FyyJrxxz$:;H6,r1   zsub, start, end, exp, exp_typec                   \         P                  ! R R.\        \        P	                  4       4      R7      pVP
                  P                  WVR7      p\         P                  ! V\        V4      R7      p\        P                  ! Wg4       R# )r9  NrL   )startend	r\   r   r   r+   r   r   findr   r   )subr  r   r  exp_typer   r   r   s   &&&&&   r/   test_str_findr%  y  s\     ))UDMBIIK)@
ACWW\\#\4FyyJx$89H6,r1   c                 B   \         P                  ! R R.\        \        P	                  4       4      R7      p V P
                  P                  RR^R7      p\         P                  ! ^R.\        \        P                  4       4      R7      p\        P                  ! W4       R# )r9  NrL   rB   r#  r  r   i
r\   r   r   r+   r   r   r"  r  r   r   r  s      r/   test_str_find_negative_startr)    sf    
))UDMBIIK)@
ACWW\\cA\6Fyy!T*RXXZ*@AH6,r1   c                 
   \         P                  ! R R.\        \        P	                  4       4      R7      p V P
                  P                  R^R7      p\         P                  ! RR.RR7      p\        P                  ! W4       R# )r9  NrL   r  )r  r|   rN   r!  r  s      r/   test_str_find_no_endr+    sZ    
))UDMBIIK)@
ACWW\\$a\(Fyy"d+;<H6,r1   c                 B   \         P                  ! R R.\        \        P	                  4       4      R7      p V P
                  P                  RRRR7      p\         P                  ! ^R.\        \        P                  4       4      R7      p\        P                  ! W4       R# )abcdefgNrL   dr'  r  r(  r  s      r/   )test_str_find_negative_start_negative_endr0    sg    
))Y%Z		-D
ECWW\\c\4Fyy!T*RXXZ*@AH6,r1   c                 @   \         P                  ! R R.\        \        P	                  4       4      R7      p V P
                  P                  R^R7      p\         P                  ! RR.\        \        P                  4       4      R7      p\        P                  ! W4       R# )r-  NrL   r.  )r#  r  rN   r(  r  s      r/   test_str_find_large_startr2    se    
))Y%Z		-D
ECWW\\c\,Fyy"d:bhhj+ABH6,r1   r  r   r#  c                l   \         P                  ! . RO\        \        P	                  4       4      R7      pVP                  \         P                  ! RR7      4      pVP                  P                  W V4      pVP                  P                  W V4      P                  VP                  4      p\        P                  ! WV4       VP                  \         P                  ! RR7      4      pVP                  P                  W V4      P                  VP                  4      p\        P                  ! W4       R# )abcaadefrL   rb  r  r!   N)r4  r9  abcdeddefgj8292r  rA   r<  )r\   r   r   r+   r   r   r  r   r"  r7   r   r   )	r  r   r#  r  object_seriesr   r   arrow_str_seriesresult2s	   &&&      r/   test_str_find_e2er9    s     			=%	A HHR^^H=>MUUZZC(F  %%c#6==fllKH6,xxy AB""''C8??MG7-r1   c                 B   \         P                  ! R R.\        \        P	                  4       4      R7      p V P
                  P                  RRRR7      p\         P                  ! RR.\        \        P                  4       4      R7      p\        P                  ! W4       R# )r-  NrL   r.  r'  r  r/  rN   r(  r  s      r/   2test_str_find_negative_start_negative_end_no_matchr;    sg    
))Y%Z		-D
ECWW\\c\4Fyy"d:bhhj+ABH6,r1   zi, expc                8   \         P                  ! . RO\        \        P	                  4       4      R7      pVP
                  P                  V 4      p\         P                  ! V\        \        P	                  4       4      R7      p\        P                  ! W44       R# )r9  NrL   )r9  deN)	r\   r   r   r+   r   r   r  r   r   )r  r  r   r   r   s   &&   r/   test_str_getr>    sZ     ))'z"))+/F
GCWW[[^FyyJryy{$;<H6,r1   z=TODO: StringMethods._validate should support Arrow list typesr   c            
     `   \         P                  ! \        \        P	                  \        R 4      \        R4      R.4      4      4      p V P                  P                  R4      p\         P                  ! . RO\        \        P                  4       4      R7      p\        P                  ! W4       R# )r9  123N=rL   za=b=cz1=2=3N)r\   r   r"   r+   r]   r   r   joinr   r   r   r   r  s      r/   test_str_joinrD    sl    
 ))'$u+tE{D1Q(RS
TCWW\\#Fyy1BIIK9PQH6,r1   c                 :   \         P                  ! \        \        P	                  . RO4      4      4      p V P
                  P                  R4      p\         P                  ! . RO\        \        P                  4       4      R7      p\        P                  ! W4       R# )r9  NrA  rL   )r9  r@  NrB  )r\   r   r"   r+   r]   r   rC  r   r   r   r   r  s      r/   test_str_join_string_typerF    s\    
))'1E(FG
HCWW\\#Fyy1BIIK9PQH6,r1   zstart, stop, step, expdcbac                :   \         P                  ! R R.\        \        P	                  4       4      R7      pVP
                  P                  WV4      p\         P                  ! V\        \        P	                  4       4      R7      p\        P                  ! WV4       R# abcdNrL   )	r\   r   r   r+   r   r   slicer   r   )r  stopstepr  r   r   r   s   &&&&   r/   test_str_slicerN    s`     ))VTN*RYY[*A
BCWW]]5-FyyJryy{$;<H6,r1   zstart, stop, repl, expaxcdxcdcdc                :   \         P                  ! R R.\        \        P	                  4       4      R7      pVP
                  P                  WV4      p\         P                  ! V\        \        P	                  4       4      R7      p\        P                  ! WV4       R# rI  )	r\   r   r   r+   r   r   slice_replacer   r   )r  rL  r  r  r   r   r   s   &&&&   r/   test_str_slice_replacerT    sb     ))VTN*RYY[*A
BCWW""55FyyJryy{$;<H6,r1   zvalue, method, expc                <   \         P                  ! V R .\        \        P	                  4       4      R7      p\        VP                  V4      ! 4       p\         P                  ! VR .\        \        P                  4       4      R7      p\        P                  ! WE4       R # r   r  )valuemethodr  r   r   r   s   &&&   r/   test_str_is_functionsrX    sc    0 ))UDMBIIK)@
ACSWWf%'Fyy#tJrxxz,BCH6,r1   zmethod, exp
capitalizezAbc deftitlezAbc DefswapcasezAbC Defzabc defupperzABC DEFcasefoldc                <   \         P                  ! R R.\        \        P	                  4       4      R7      p\        VP                  V 4      ! 4       p\         P                  ! VR.\        \        P	                  4       4      R7      p\        P                  ! W44       R# )zaBc dEFNrL   	r\   r   r   r+   r   r   r   r   r   )rW  r  r   r   r   s   &&   r/   test_str_transform_functionsr`  "  sd     ))Y%Z		-D
ECSWWf%'Fyy#tJryy{,CDH6,r1   c                 :   \         P                  ! R R.\        \        P	                  4       4      R7      p V P
                  P                  4       p\         P                  ! ^R.\        \        P                  4       4      R7      p\        P                  ! W4       R# rI  )
r\   r   r   r+   r   r   r  r  r   r   r  s      r/   test_str_lenrb  4  s]    
))VTN*RYY[*A
BCWW[[]Fyy!T*RXXZ*@AH6,r1   zmethod, to_strip, valc                @   \         P                  ! VR .\        \        P	                  4       4      R7      p\        VP                  V 4      ! VR7      p\         P                  ! RR .\        \        P	                  4       4      R7      p\        P                  ! WE4       R # )NrL   )to_stripr9  r_  )rW  rd  valr   r   r   s   &&&   r/   test_str_striprf  ;  se     ))S$Kz"))+'>
?CSWWf%x8Fyy%j.EFH6,r1   re  abc123c                <   \         P                  ! V R .\        \        P	                  4       4      R7      pVP
                  P                  R4      p\         P                  ! RR .\        \        P	                  4       4      R7      p\        P                  ! W#4       R # NrL   r@  r9  )	r\   r   r   r+   r   r   removesuffixr   r   re  r   r   r   s   &   r/   test_str_removesuffixrl  M  b    
))S$Kz"))+'>
?CWW!!%(Fyy%j.EFH6,r1   123abcc                <   \         P                  ! V R .\        \        P	                  4       4      R7      pVP
                  P                  R4      p\         P                  ! RR .\        \        P	                  4       4      R7      p\        P                  ! W#4       R # ri  )	r\   r   r   r+   r   r   removeprefixr   r   rk  s   &   r/   test_str_removeprefixrq  U  rm  r1   r  r   r}   zencoding, exputf8littles   abcbigutf32s     a   b   c   s        a   b   cc                f   \         P                  ! R R.\        \        P	                  4       4      R7      pVP
                  P                  W4      p\         P                  ! V\        P                  ,          R.\        \        P                  4       4      R7      p\        P                  ! WE4       R# r  )r\   r   r   r+   r   r   encodesys	byteorderr>  r   r   )r  encodingr  r   r   r   s   &&&   r/   test_str_encoder{  ]  sl      ))UDMBIIK)@
ACWW^^H-Fyy#cmm,d3:biik;RSH6,r1   c           	     j   \         P                  ! . RO\        \        P	                  4       4      R7      pVP
                  P                  RV R7      p\         P                  ! R.. R.\        \        P                  \        P	                  4       4      4      R7      p\        P                  ! W#4       R# )r9  NrL   rB   r  )r9  r  N)
r\   r   r   r+   r   r   findalllist_r   r   )r  r   r   r   s   &   r/   test_str_findallr  s  so    
))(
299;0G
HCWW__S_.Fyy3%T**RXXbiik=R2STH6,r1   rW  rf  rindexz
start, endc                   \         P                  ! R R.\        \        P	                  4       4      R7      p\        VP                  V 4      ! RW4      p\         P                  ! ^R.\        \        P                  4       4      R7      p\        P                  ! WE4       \        P                  ! \        RR7      ;_uu_ 4        \        VP                  V 4      ! RW4       RRR4       R#   + '       g   i     R# ; i)abcbaNrL   rh   zsubstring not foundr   r  )r\   r   r   r+   r   r   r   r  r   r   r(   r&   rk  )rW  r  r   r   r   r   s   &&&   r/   test_str_r_indexr  {  s     ))WdO:biik+B
CCSWWf%c56Fyy!T*RXXZ*@AH6,	z)>	?	? 3 
@	?	?	?s   C**C;	formNFCNFKCc                    \         P                  ! R R.\        \        P	                  4       4      R7      pVP
                  P                  V 4      pVP                  4       p\        P                  ! W#4       R# r  )
r\   r   r   r+   r   r   	normalizerV  r   r   )r  r   r   r   s   &   r/   test_str_normalizer    sN    
))UDMBIIK)@
ACWWt$FxxzH6,r1   c                >   \         P                  ! . RO\        \        P	                  4       4      R7      pVP
                  P                  RW4      p\         P                  ! . RO\        \        P                  4       4      R7      p\        P                  ! W44       R# )r  NrL   rh   )r  r  N)r   rN   N)
r\   r   r   r+   r   r   rfindr  r   r   )r  r   r   r   r   s   &&   r/   test_str_rfindr    s]     ))**RYY[2I
JCWW]]3+Fyyj.DEH6,r1   c                 @   \         P                  ! R R.\        \        P	                  4       4      R7      p V P
                  P                  ^aR/4      p\         P                  ! RR.\        \        P	                  4       4      R7      p\        P                  ! W4       R# )r  NrL   rB   bbcbb)	r\   r   r   r+   r   r   	translater   r   r  s      r/   test_str_translater    sf    
))WdO:biik+B
CCWWCy)Fyy'4
299;0GHH6,r1   c                 <   \         P                  ! R R.\        \        P	                  4       4      R7      p V P
                  P                  ^4      p\         P                  ! RR.\        \        P	                  4       4      R7      p\        P                  ! W4       R# )r  NrL   zabc
ba)	r\   r   r   r+   r   r   wrapr   r   r  s      r/   test_str_wrapr    s`    
))WdO:biik+B
CCWW\\!_Fyy)T**RYY[2IJH6,r1   c                 N   \         P                  ! . RO\        \        P	                  4       4      R7      p V P
                  P                  4       p\         P                  ! . RO. RO. RO.\        \        P                  4       4      . ROR7      p\        P                  ! W4       R# )	a|bNrL   r7   r  )r  Nza|c)TTFr"  rh  )rA   rB   rh   )r\   r   r   r+   r   r   get_dummiesrl  r  r   ro  r  s      r/   test_get_dummiesr    sk    
))(
299;0G
HCWW  "F||	35HI$H
 &+r1   c                    \         P                  ! R R.\        \        P	                  4       4      R7      p V P
                  P                  R4      p\         P                  ! . R	O. R
O.\        \        P	                  4       4      \         P                  ! ^4      R7      p\        P                  ! WRR7       V P
                  P                  RRR7      p\         P                  ! \        \        P                  . R	OR.4      4      4      p\        P                  ! W4       V P
                  P                  R4      p\         P                  ! . RO. R
O.\        \        P	                  4       4      \         P                  ! ^4      R7      p\        P                  ! WRR7       V P
                  P                  RRR7      p\         P                  ! \        \        P                  . ROR.4      4      4      p\        P                  ! W4       R# )r  NrL   rB   r  T)check_column_typeFexpand)rA   rB   cbar#  )r9  rB   rA   )r\   r   r   r+   r   r   	partitionrl  
RangeIndexr   ro  r"   r]   r   
rpartitionr  s      r/   test_str_partitionr    sc   
))WdO:biik+B
CCWWs#F||	./%a H
 &dCWWs51Fyy,RXX7H$6O-PQRH6,WW$F||	./%a H
 &dCWWE2Fyy,RXX7H$6O-PQRH6,r1   rsplitsplitc                >   \         P                  ! R R.\        \        P	                  4       4      R7      p\        VP                  V 4      ! 4       p\         P                  ! \        \        P                  . ROR.4      4      4      p\        P                  ! W#4       R# )za1 cbc
bNrL   )a1cbcrB   )r\   r   r   r+   r   r   r   r"   r]   r   r   rW  r   r   r   s   &   r/   test_str_split_pat_noner    sh     ))[$'z"))+/F
GCSWWf%'Fyy,RXX7I46P-QRSH6,r1   c                    \         P                  ! . RO\        \        P	                  4       4      R7      p V P
                  P                  R4      p\         P                  ! \        \        P                  . RO. ROR.4      4      4      p\        P                  ! W4       V P
                  P                  R^R7      p\         P                  ! \        \        P                  RR.RR.R.4      4      4      p\        P                  ! W4       V P
                  P                  RR	R
7      p\         P                  ! \        \        P                  RR.RR.R.4      4      4      p\        P                  ! W4       V P
                  P                  RR	R	R7      p\         P                  ! ^ \        \        P                  . RO4      4      ^\        \        P                  . RO4      4      /4      p\        P                  ! W4       V P
                  P                  RR	R7      p\         P                  ! ^ \        \        P                  . RO4      4      ^\        \        P                  . RO4      4      /4      p\        P                  ! W4       R# )a1cbcbNrL   rh   r  a2r  bcbz[1-2]T)r  rA   cbcb)r  r  r<   r  r  a2cbcbNr  rB   rB   r  rB   rB   )rA   rA   N)r  r  NrA   r  Nr  NN)r\   r   r   r+   r   r   r  r"   r]   r   r   rl  ro  r  s      r/   test_str_splitr    s   
)).j6M
NCWW]]3FyyBHH&68H$%OPQH 6,WW]]3!]$FyyBHHtUmdE]D%IJKH 6,WW]]7$]/FyyBHHsFmc6]D%IJKH 6,WW]]7$t]<F||"288,<#=>"288,B#CD	
H &+WW]]3t],F||"288,A#BC"288,@#AB	
H &+r1   c                 B   \         P                  ! . RO\        \        P	                  4       4      R7      p V P
                  P                  R4      p\         P                  ! \        \        P                  . RO. ROR.4      4      4      p\        P                  ! W4       V P
                  P                  R^R7      p\         P                  ! \        \        P                  RR.RR.R.4      4      4      p\        P                  ! W4       V P
                  P                  R^RR	7      p\         P                  ! ^ \        \        P                  . RO4      4      ^\        \        P                  . RO4      4      /4      p\        P                  ! W4       V P
                  P                  R
RR7      p\         P                  ! ^ \        \        P                  . RO4      4      ^\        \        P                  . RO4      4      /4      p\        P                  ! W4       R# )r  NrL   rh   rB   r  a1cba2cbT)r  r  r<   r  r  r  r  )r  r  N)rB   rB   Nr  r  )r\   r   r   r+   r   r   r  r"   r]   r   r   rl  ro  r  s      r/   test_str_rsplitr  	  s   
)).j6M
NCWW^^C FyyBHH&68H$%OPQH 6,WW^^C1^%FyyBHHvsmfc]D%IJKH 6,WW^^C1T^2F||"288,B#CD"288,<#=>	
H &+WW^^C^-F||"288,A#BC"288,@#AB	
H &+r1   c                 (   \         P                  ! . RO\        \        P	                  4       4      R7      p \
        P                  ! \        RR7      ;_uu_ 4        V P                  P                  R4       RRR4       R#   + '       g   i     R# ; i)r  rL   z*pat=.* must contain a symbolic group name.r   z[ab](\d)Nr  b2c3)
r\   r   r   r+   r   r(   r&   rk  r   extractr  s    r/   test_str_extract_non_symbolicr  *	  sP    
))&j.E
FC	z)U	V	V$ 
W	V	V	V   B  B	r  c                   \         P                  ! . RO\        \        P	                  4       4      R7      pVP
                  P                  RV R7      p\         P                  ! R\        \        P                  . RO4      4      R\        \        P                  . R	O4      4      /4      p\        P                  ! W#4       R# )
r  rL   z(?P<letter>[ab])(?P<digit>\d)r  letterNdigitr  )rA   rB   Nr<   rC   N)r\   r   r   r+   r   r   r  rl  r"   r]   r   ro  )r  r   r   r   s   &   r/   test_str_extractr  0	  s    
))&j.E
FCWW__=f_MF||)"((3C*DE(2B)CD	
H &+r1   c            	        \         P                  ! . R	O\        \        P	                  4       4      R7      p V P
                  P                  RRR7      p\         P                  ! R\        \        P                  . R
O4      4      /4      p\        P                  ! W4       V P
                  P                  RRR7      p\         P                  ! \        \        P                  . R
O4      4      RR7      p\        P                  ! W4       R# )r  rL   z[ab](?P<digit>\d)Tr  r  NFr!  r  r  )r\   r   r   r+   r   r   r  rl  r"   r]   r   ro  r   r  s      r/   test_str_extract_expandr  =	  s    
))&j.E
FCWW__1$_?F||(2B)CD	
H
 &+WW__1%_@Fyy,RXX6F-GHwWH6,r1   r   rj  ri  c                    R R.p\         P                  V 4      p\        V4      p\        P                  ! WR7      p\        \         P                  RR.VR7      4      p\        P                  ! WE4       R# )1000NaTrL     Nr  )r+   r  r   r"   r   r]   r   r   )r   stringsr   r7   r   r   s   &     r/   #test_duration_from_strings_with_natr  L	  s^     uoGkk$GwE ::7PF"288T4Lw8#GHH##F5r1   c                B   V P                   P                  p\        P                  P	                  V4      '       gP   \
        P                  ! \        R R7      ;_uu_ 4        \        P                  ! V 4      P                   RRR4       R# R#   + '       g   i     R# ; i)z2Can only use .dt accessor with datetimelike valuesr   N)r7   r5   r+   rO   r   r(   r&   AttributeErrorr\   r   rP  rv   s   & r/   test_unsupported_dtr  W	  so    zz''H88))]]"V
 
 IIdO
 
 *
 
 
s    !BB	zprop, expectedyear  dayday_of_week	dayofweekweekdayday_of_year	dayofyearhourminuteis_leap_yearmicrosecond  month
nanosecondquartersecondr   r   c                   \         P                  ! \         P                  ! R ^^^^^R^R7      R.\        \        P                  R4      4      R7      p\        VP                  V 4      pRp\        V\        4      '       d   \        P                  4       pM+\        V\        4      '       d   \        P                  R4      p\         P                  ! \        \        P                  VR.VR7      4      4      p\        P                   ! W14       R# )r  r  )r  r  r  r  r  r  r  r  Nrj  rL   r  )r\   r   r  r   r+   r2  r   rP  r~   r   r  r   time64r"   r]   r   r   )propr   r   r   r$  s   &&   r/   test_dt_propertiesr  `	  s    . ))LL 	 	
 d+,C  SVVT"FH(D!!99;	Hd	#	#99T?yy,RXXx6FXX-VWXH6,r1   c                2   \         P                  ! \         P                  ! R ^^^V ^R7      R.\        \        P                  R4      4      R7      pVP                  P                  p\         P                  ! V R.RR7      p\        P                  ! W#4       R# )  )r  r  r  r  r  r  Nrj  rL   r|   )
r\   r   r  r   r+   r2  rP  r  r   r   )r  r   r   r   s   &   r/   test_dt_microsecondr  	  s     ))LL' 
	
 d+,C VVFyy+t,4DEH6,r1   c                 H   \         P                  ! \        R ^^^R7      \        R ^^^R7      \        R ^^^R7      R.\        \        P                  R4      4      R7      p V P                  P                  p\         P                  ! . RO\        \        P                  4       4      R7      p\        P                  ! W4       V P                  P                  p\         P                  ! . RO\        \        P                  4       4      R7      p\        P                  ! W4       R# r  r  r  r  r  Nri  rL   FTFN)FFTN)r\   r   r   r   r+   r2  rP  is_month_startr  r   r   is_month_endr  s      r/   test_dt_is_month_start_endr  	  s    
))$baa8$aQQ7$aRa8		
 d+,C VV""Fyy3:bhhj;QRH6,VV  Fyy3:bhhj;QRH6,r1   c                 H   \         P                  ! \        R ^^^R7      \        R ^^^R7      \        R ^^^R7      R.\        \        P                  R4      4      R7      p V P                  P                  p\         P                  ! . RO\        \        P                  4       4      R7      p\        P                  ! W4       V P                  P                  p\         P                  ! . RO\        \        P                  4       4      R7      p\        P                  ! W4       R# )r  r  Nri  rL   r  TFFN)r\   r   r   r   r+   r2  rP  is_year_startr  r   r   is_year_endr  s      r/   test_dt_is_year_start_endr  	  s    
))$bbq9$aQQ7$aRa8		
 d+,C VV!!Fyy3:bhhj;QRH6,VVFyy3:bhhj;QRH6,r1   c                 H   \         P                  ! \        R ^^^R7      \        R ^^^R7      \        R ^^^R7      R.\        \        P                  R4      4      R7      p V P                  P                  p\         P                  ! . RO\        \        P                  4       4      R7      p\        P                  ! W4       V P                  P                  p\         P                  ! . RO\        \        P                  4       4      R7      p\        P                  ! W4       R# r  )r\   r   r   r   r+   r2  rP  is_quarter_startr  r   r   is_quarter_endr  s      r/   test_dt_is_quarter_start_endr  	  s    
))$bbq9$aQQ7$aRa8		
 d+,C VV$$Fyy3:bhhj;QRH6,VV""Fyy3:bhhj;QRH6,r1   days_in_monthdaysinmonthc                   \         P                  ! \        R ^^^R7      \        R ^^^R7      \        R ^^^R7      R.\        \        P                  R4      4      R7      p\        VP                  V 4      p\         P                  ! . RO\        \        P                  4       4      R7      p\        P                  ! W#4       R# )r  r  Nri  rL   )         N)r\   r   r   r   r+   r2  r   rP  r  r   r   r  s   &   r/   test_dt_days_in_monthr   	  s    
))$aRa8$aQQ7$aQQ7		
 d+,C SVVV$Fyy+:bhhj3IJH6,r1   c                    \         P                  ! \        R ^^R7      \        R ^^^R7      \        R ^^^^;^;R7      R.\        \        P                  R4      4      R7      p V P                  P                  4       p\         P                  ! \        R ^^R7      \        R ^^R7      \        R ^^R7      R.\        \        P                  R4      4      R7      p\        P                  ! W4       R# )r  r  r  r  r  )r  r  r  r  r  r  Nri  rL   )
r\   r   r   r   r+   r2  rP  r  r   r   r  s      r/   test_dt_normalizer  	  s    
))$aR0$aQQ7$aQR2N		
 d+,C VVFyy$aR0$aQ/$aQ/		
 d+,H 6,r1   c           
        \         P                  ! \        R ^^^R7      R.\        \        P                  V 4      4      R7      pVP                  P                  V 8X  g   Q hVP                  P                  p\         P                  ! \        \        P                  \        ^^ 4      R.\        P                  V 4      R7      4      4      p\        P                  ! W#4       R# )r  r  NrL   r  )r\   r   r   r   r+   r2  rP  r   r   r"   r]   r  r   r   r   r   r   r   s   &   r/   test_dt_time_preserve_unitr  
  s    
))	t1!!	4d;d+,C 66;;$VV[[FyyBHHd1aj$%7biioHNOH 6,r1   r   c           
         \         P                  ! \        R ^^^R7      R.\        \        P                  RV R7      4      R7      pVP                  P                  pV\        P                  ! V 4      8X  g   Q hR# )r  r  Nrj  r   rL   )
r\   r   r   r   r+   r2  rP  r   r   maybe_get_tz)r   r   r   s   &  r/   
test_dt_tzr
  
  s`    
))	t1!!	4d;dr23C VVYYFY++B////r1   c            	     .   \         P                  ! \        R ^^^R7      R.\        \        P                  R4      4      R7      p V P                  P                  4       p\         P                  ! . RO. RO.. R	ORR7      p\        P                  ! W4       R# )
r  r  Nrj  rL   r|   r  r7   )r  r1  r1  rL  )r  weekr  )r\   r   r   r   r+   r2  rP  isocalendarrl  r   ro  r  s      r/   test_dt_isocalendarr   
  st    
))	t1!!	4d;d+,C VV!F||	y!'H
 &+r1   day_nameSunday
month_nameJanuaryc                j   \        V4       \        P                  ! \        R ^^4      R.\	        \
        P                  R4      4      R7      p\        VP                  V 4      ! 4       p\        P                  ! VR.\	        \
        P                  4       4      R7      p\        P                  ! WE4       R# )r  NmsrL   )r0   r\   r   r   r   r+   r2  r   rP  r   r   r   )rW  r  r.   r   r   r   s   &&&   r/   test_dt_day_month_namer  .
  sy    
 w'
))XdAq)40
2<<PTCU8V
WCSVVV$&Fyy#tJryy{,CDH6,r1   c           	     n   \        V 4       \        P                  ! \        R ^^^R7      R.\	        \
        P                  R4      4      R7      pVP                  P                  R4      p\        P                  ! RR.\	        \
        P                  4       4      R7      p\        P                  ! W#4       R# )r  r  Nrj  rL   z%Y-%m-%dT%H:%M:%Sz2023-01-02T03:00:00.000000000)r0   r\   r   r   r   r+   r2  rP  strftimer   r   r   r.   r   r   r   s   &   r/   test_dt_strftimer  ;
  s    w'
))	t1!!	4d;d+,C VV__01Fyy	($/z"))+7NH 6,r1   c           	        \         P                  ! \        R ^^^R7      R.\        \        P                  R4      4      R7      p\        P                  ! \        RR7      ;_uu_ 4        \        VP                  V 4      ! RRR	7       RRR4       \        P                  ! \        R
R7      ;_uu_ 4        \        VP                  V 4      ! RRR7       RRR4       R#   + '       g   i     L]; i  + '       g   i     R# ; i)r  r  Nrj  rL   zambiguous is not supported.r   1hr  	ambiguousznonexistent is not supported.nonexistent)r\   r   r   r   r+   r2  r(   r&   r[   r   rP  rW  r   s   & r/   *test_dt_roundlike_tz_options_not_supportedr"  I
  s    
))	t1!!	4d;d+,C 
*2O	P	P6 
Q 
*2Q	R	R%8 
S	R 
Q	P 
S	R	Rs   (C3C/C,	/D 	c           	        \         P                  ! \        R ^^^R7      R.\        \        P                  R4      4      R7      p\        P                  ! \        RR7      ;_uu_ 4        \        VP                  V 4      ! R4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        VP                  V 4      ! R4       RRR4       R#   + '       g   i     L[; i  + '       g   i     R# ; i)	r  r  Nrj  rL   zfreq='1B' is not supportedr   1Bz$Must specify a valid frequency: None)r\   r   r   r   r+   r2  r(   r&   rk  r   rP  r!  s   & r/   "test_dt_roundlike_unsupported_freqr%  V
  s    
))	t1!!	4d;d+,C 
z)E	F	F% 
G 
z)O	P	P% 
Q	P 
G	F 
Q	P	Ps   (C1C+C(	+C<	freqc                n   \         P                  ! \        R ^^R7      R.4      p\        \        P                  R4      4      p\        VP                  V4      ! RV  24      P                  V4      p\        VP                  V4      P                  V4      ! RV  24      p\        P                  ! WT4       R# )r  r  Nrj  r<   )r\   r   r   r   r+   r2  r   rP  r   r   r   )r&  rW  r   r^   r   r   s   &&    r/   test_dt_ceil_year_floorr(  c
  s     ))	t1!	,d3C ",,t,-Hsvvv&4&z299(CHSZZ),,f5$jAF6,r1   c                   a \        R ^^4      \        R^^4      .p \        P                  ! V \        \        P                  R4      4      R7      pVP                  P                  4       p\        P                  ! V \        R7      o\        P                  ! VS4       \        ;QJ d1    V3R l\        \        S4      4       4       F  '       d   K   RM&	  RM"! V3R l\        \        S4      4       4       4      '       g   Q hVP                  R4      P                  P                  4       o\        P                  ! VS4       R# )	r>   r  rj  rL   c              3  h   <"   T F'  p\        SP                  V,          4      \        J x  K)  	  R # 5ir   )rb   r  r   ).0r  r   s   & r/   	<genexpr>(test_dt_to_pydatetime.<locals>.<genexpr>v
  s&     P;OatHMM!$%1;Os   /2FTdatetime64[ns]N)r   r\   r   r   r+   r2  rP  rO  r   r   r   r  r5  r  r   r_   r   r   r   s      @r/   test_dt_to_pydatetimer0  o
  s    T1a (4A"67D
))D
2<<+= >
?CVV!!#FyyV,H68,3P5X;OP333P5X;OPPPPPzz*+..<<>H68,r1   	date_typec           
     B   \         P                  ! \        R ^^4      .\        \	        \
        RV  24      ! 4       4      R7      p\        P                  ! \        RR7      ;_uu_ 4        VP                  P                  4        RRR4       R#   + '       g   i     R# ; i)r>   r   rL   z#to_pydatetime cannot be called withr   N)r\   r   r   r   r   r+   r(   r&   rk  rP  rO  )r1  r   s   & r/    test_dt_to_pydatetime_date_errorr3  |
  sn     ))	dB	tI;%78:;C 
z)N	O	O 
P	O	O	Os   (BB	c            	        \         P                  ! \        R ^^^R7      R.\        \        P                  R4      4      R7      p \        P                  ! \        RR7      ;_uu_ 4        V P                  P                  RRR	7       RRR4       \        P                  ! \        R
R7      ;_uu_ 4        V P                  P                  RRR7       RRR4       R#   + '       g   i     L\; i  + '       g   i     R# ; i)r  r  Nrj  rL   z ambiguous='NaT' is not supportedr   r1  r  r  z"nonexistent='NaT' is not supportedr  )r\   r   r   r   r+   r2  r(   r&   r[   rP  tz_localizer  s    r/   *test_dt_tz_localize_unsupported_tz_optionsr6  
  s    
))	t1!!	4d;d+,C 
*2T	U	U5E2 
V 
*2V	W	W5e4 
X	W 
V	U 
X	W	Ws   (C2C-C*	-C>	c           
        \        V 4       \        P                  ! \        R ^^^R7      R.\	        \
        P                  RRR7      4      R7      pVP                  P                  R4      p\        P                  ! V^ ,          P                  R4      R.\	        \
        P                  R4      4      R7      p\        P                  ! W#4       R# )r  r  Nrj  
US/Pacificr  rL   )r0   r\   r   r   r   r+   r2  rP  r5  r   r   r  s   &   r/   test_dt_tz_localize_noner9  
  s    w'
))	t1!!	4d;d|<=C VV%Fyy	Q		D	!4(d+,H 6,r1   c           	        \        V4       \        P                  ! \        R ^^^R7      R.\	        \
        P                  V 4      4      R7      pVP                  P                  R4      p\
        P                  \        R ^^^R7      R.\
        P                  V 4      R7      p\
        P                  P                  VR4      p\        P                  ! \        V4      4      p\        P                  ! W54       R# )r  r  NrL   r8  r  r0   r\   r   r   r   r+   r2  rP  r5  r]   computeassume_timezoner"   r   r   )r   r.   r   r   exp_datar   s   &&    r/   test_dt_tz_localizer?  
  s    w'
))	t1!!	4d;d+,C VV-Fxx	t1!!	4d;",,tBT  H zz))(LAHyy,X67H6,r1   znonexistent, exp_dateshift_forwardr  shift_backwardz2023-03-12 01:59:59.999999999c           
        \        V4       \        P                  ! \        R ^^^^R7      R.\	        \
        P                  R4      4      R7      pVP                  P                  RV R7      p\
        P                  VR.\
        P                  R4      R7      p\
        P                  P                  VR4      p\        P                  ! \        V4      4      p\        P                  ! WF4       R# )r  )r  r  r  r  r  Nrj  rL   r8  r  r  r;  )r   exp_dater.   r   r   r>  r   s   &&&    r/   test_dt_tz_localize_nonexistentrD  
  s     w'
))	t1"1R	@$Gd+,C VV+FFxx4(r||D/AxBHzz))(LAHyy,X67H6,r1   c            	     D   \         P                  ! \        R ^^^R7      R.\        \        P                  R4      4      R7      p \        P                  ! \        RR7      ;_uu_ 4        V P                  P                  R4       RRR4       R#   + '       g   i     R# ; i)r  r  Nrj  rL   z"Cannot convert tz-naive timestampsr   r1  )r\   r   r   r   r+   r2  r(   r&   r   rP  
tz_convertr  s    r/    test_dt_tz_convert_not_tz_raisesrG  
  sj    
))	t1!!	4d;d+,C 
y(L	M	M%  
N	M	M	Ms   (BB	c            	        \         P                  ! \        R ^^^R7      R.\        \        P                  RR4      4      R7      p V P                  P                  R4      p\         P                  ! V ^ ,          P                  R4      R.\        \        P                  R4      4      R7      p\        P                  ! W4       R# )r  r  Nrj  r8  rL   
r\   r   r   r   r+   r2  rP  rF  r   r   r  s      r/   test_dt_tz_convert_nonerJ  
  s    
))	t1!!	4d;dL9:C VVt$Fyy	Q		4	 $'d+,H 6,r1   c           	        \         P                  ! \        R ^^^R7      R.\        \        P                  V R4      4      R7      pVP                  P                  R4      p\         P                  ! V^ ,          P                  R4      R.\        \        P                  V R4      4      R7      p\        P                  ! W#4       R# )r  r  Nr8  rL   
US/EasternrI  r  s   &   r/   test_dt_tz_convertrM  
  s    
))	t1!!	4d;dL9:C VV|,Fyy	Q		<	($/dL9:H 6,r1   r7   ztimestamp[ms][pyarrow]zduration[ms][pyarrow]c                    \         P                  ! R R.V R7      pVP                  P                  R4      pVP	                  V P                  RR4      4      p\        P                  ! W#4       R# )r  NrL   rj  r  )r\   r   rP  as_unitr   r  r   r   r  s   &   r/   test_as_unitrP  
  sQ     ))T4L
.CVV^^D!Fzz%--d34H6,r1   zfrom_unit,to_unitc                h   \         P                  ! \         P                  ! R R.RR7      P                  V 4      4      pVP	                  RV  R24      pVP
                  P                  V4      pVP
                  P                  V4      P	                  RV R24      p\        P                  ! WE4       R# )l   @W/U Nrj  r   	duration[
][pyarrow])r\   r   to_timedeltarO  r   rP  r   r   )	from_unitto_unit	ser_numpy	ser_arrowr   r   s   &&    r/    test_as_unit_duration_truncationrZ  
  s    ( 		
.T:BB9MI   9YKz!BCI\\!!'*F||##G,33iy
4STH6,r1   c                ,   \         P                  ! \         P                  ! R 4      R.RV  R2R7      pVP                  RV  R24      pVP                  P                  V4      pVP                  P                  V4      p\        P                  ! VP                  4       P                  RV R2R7      VP                  4       P                  4       4       VP                  4       P                  4       VP                  4       P                  4       8X  g   Q hR# )2024-01-15 12:30:45.123456789N
timestamp[rT  rL   zdatetime64[rI  )r\   r   r  r   rP  rO  r   r
  rY  r   rP  r   )rV  rW  rY  rX  r   expected_numpys   &&    r/   test_as_unit_timestampr_    s     			5	6=9+Z0I   ;yk!;<I\\!!'*F\\))'2N  WIQ'? @((*
 ;;=).."2"6"6"8888r1   rW  c                   \         P                  ! \         P                  ! R .4      P                  R4      P	                  R4      4      pVP                  R4      pVP                  P	                  V 4      pVP                  P	                  V 4      P                  RV  R24      p\        P                  ! W44       \        VP                  4      RV  R28X  g   Q hR# )r\  rL  rj  "timestamp[ns, US/Eastern][pyarrow]r]  z, US/Eastern][pyarrow]z, tz=US/Eastern][pyarrow]N)r\   r   to_datetimer5  rO  r   rP  r   r   r   r7   )rW  rX  rY  r   r   s   &    r/   $test_as_unit_timestamp_with_timezonerc  2  s     		
789	\	"	I
   !EFI\\!!'*F||##G,33
WI34H 6,v||*WI5N OOOOr1   c                 (   \         P                  ! ^^.\        \        P	                  4       4      R7      p \
        P                  ! \        RR7      ;_uu_ 4        V P                  P                  R4       RRR4       R#   + '       g   i     R# ; i)r1  rL   zas_unit not implementedr   rj  N)
r\   r   r   r+   r  r(   r&   r[   rP  rO  r  s    r/   test_as_unit_date_raisesre  D  sT    
))QF*RYY["9
:C	*2K	L	Lt 
M	L	L	Lr  dayssecondsmicrosecondsnanosecondsc           	        \         P                  ! \         P                  ! ^^^^R7      R.\        \        P                  R4      4      R7      p\        VP                  V 4      p\         P                  ! \        \        P                  VR.\        P                  4       R7      4      4      p\        P                  ! W14       R# )r1  rf  rg  rh  ri  Nrj  rL   r  )r\   r   	Timedeltar   r+   r  r   rP  r"   r]   r  r   r   )r  r   r   r   s   &&  r/   test_dt_timedelta_propertiesrm  K  s     ))LL	 	
 T*+C SVVT"FyyBHHh%5BHHJHGHH 6,r1   c            	        \         P                  ! \         P                  ! ^^^^R7      R.\        \        P                  R4      4      R7      p V P                  P                  4       p\         P                  ! \        \        P                  RR.\        P                  4       R7      4      4      p\        P                  ! W4       R# )r1  rk  Nrj  rL   gN%  @r  )r\   r   rl  r   r+   r  rP  total_secondsr"   r]   r   r   r   r  s      r/   test_dt_timedelta_total_secondsrp  i  s    
))LL	 	
 T*+C VV!!#FyyBHHlD%9

HMNH 6,r1   c                 :   \        ^^^4      \        ^^^4      .p \        P                  ! V \        \        P                  R4      4      R7      pRp\        P                  ! \        VR7      ;_uu_ 4        VP                  P                  4       pRRR4       \        P                  ! V \        R7      p\        P                  ! XV4       \        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   Q hR	p\        P                  ! \        VR7      ;_uu_ 4        VP!                  R
4      P                  P                  4       pRRR4       \        P                  ! W44       R#   + '       g   i     L; i  + '       g   i     L;; i)r1  rj  rL   zDThe behavior of ArrowTemporalProperties.to_pytimedelta is deprecatedr   Nc              3  D   "   T F  p\        V4      \        J x  K  	  R # 5ir   )rb   r   )r+  ress   & r/   r,  )test_dt_to_pytimedelta.<locals>.<genexpr>  s     8#tCyI%s    FTz@The behavior of TimedeltaProperties.to_pytimedelta is deprecatedtimedelta64[ns])r   r\   r   r   r+   r  r   rw  r   rP  to_pytimedeltar   r]   r   r   r  r   )r_   r   r9  r   r   s        r/   test_dt_to_pytimedeltarw  ~  s   aA	!Q 23D
))D
2;;t+< =
>C
PC		#	#N#	>	>&&( 
?xxF+H1388333888888
LC		#	#N#	>	>::/033BBD 
?1 
?	> 
?	>s   5E7-*F
7F	
F	c            
     
   \         P                  ! \         P                  ! ^^^^R7      R.\        \        P                  R4      4      R7      p V P                  P                  p\         P                  ! . RO\         P                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  ... RORR7      p\        P                  ! W4       R# )	r1  rk  Nrj  rL   r   r  )r1  r   r   r   r   r&  r'  rf  hoursminutesrg  millisecondsrh  ri  r\   r   rl  r   r+   r  rP  
componentsrl  re  r   ro  r  s      r/   test_dt_componentsr    s    
))LL	 	
 T*+C VVF||	ruubeeRUUBEE255 QR
 H &+r1   c            
        \         P                  ! \         P                  ! R 4      R.\        \        P                  R4      4      R7      p V P                  P                  p\         P                  ! . RO\         P                  \         P                  \         P                  \         P                  \         P                  \         P                  \         P                  ... RORR7      p\        P                  ! W4       R# )z365 days 23:59:59.999000Nrj  rL   r   r  )im     ;   r  i  r   r   ry  r}  r  s      r/   test_dt_components_large_valuesr    s    
))LL34	
 T*+C VVF||(UUBEE255"%%ruu=	

 H  &+r1   r   c                    \         P                  ! R .RR7      p\        W 4      ! VR7      pV'       d   V R8H  pM\         P                  pW4J g   Q hR # )Nr  rL   r   r  )r\   r   r   re  )r  r   r   r   r   s   &&   r/   #test_boolean_reduce_series_all_nullr    sH     ))TF"4
5CS1@F)U255r1   c                 P   . R
Op . ROpR.pW,           V,           pR.\        V 4      ,          R.\        V4      ,          ,           R.\        V4      ,          ,           p\        \        P                  4       4      p\        P
                  ! W5R7      p\        P                  ! VRR7      p\        P                  ! Wg4       RR.p\        P                  ! \        P                  RR	7      ;_uu_ 4        \        P
                  ! W5R7       RRR4       R#   + '       g   i     R# ; i)trueTrueNTFrL   r  r  zFailed to parser   )r  TRUEr  r<   r  )falseFALSEFalse0r=   )r  r   r+   r  r"   r   r\   r]   r   r   r(   r&   r,   )true_stringsfalse_stringsnullsr  boolsr7   r   r   s           r/   %test_from_sequence_of_strings_booleanr    s    7L;MFE*U2G	\""eWs=/A%AATFSQVZDWW 
 rxxz"E ::7PFxx%78H##F5uoG	r.?	@	@55gK 
A	@	@	@s   2DD%	c                   \         P                  ! . V R 7      pVP                  4       p\         P                  ! V\        P
                  ! . \        P                  R 7      ,          .4      p\        P                  ! W24       R# r   )	r\   r   rV  concatr   r]   r  r   r   )r7   r   r   r   s   &   r/   %test_concat_empty_arrow_backed_seriesr    sP    
))Be
$CxxzHYYBHHRrxx89:;F6,r1   r   string[pyarrow]c                    \         P                  R P                  4       4      p\        P                  ! WR7      p\        P                  ! \        V4      V R7      p\        P                  ! W#4       R# )zthe quick brown foxrL   N)r+   r]   r  r\   r   r"   r   r   )r7   r#  r   r   s   &   r/   test_series_from_string_arrayr    sL    
(((..0
1C
))C
%Cyy,S1?H3)r1   c                  (   a  ] tR tRtV 3R ltRtV ;t# )OldArrowExtensionArrayi  c                	L   < \         SV `  4       pVP                  R 4      VR&   V# )r   _data)r   __getstate__pop)r   stater   s   & r/   r  #OldArrowExtensionArray.__getstate__  s'    $&;/gr1   r   )r  r  r  r  r  r  r  r   s   @r/   r  r    s     r1   r  c                 <   \         P                  ^.4      p \        V 4      p\        P                  ! \        P
                  ! V4      4      p\        P                  ! W!4       VP                  \         P                  V 4      8X  g   Q h\        VR4      '       d   Q hR# )r1  r  N)r+   r]   r  r}  r  r~  r   r   r   chunked_arrayhasattr)r_   r   r   s      r/   #test_pickle_old_arrowextensionarrayr    su    88QC=D%d+H\\&,,x01F##F5r//5555vw'''''r1   c            	     @   R p \        \        P                  \        P                  ! V 3\        P
                  R7      .4      4      pVP                  4       pRV\        P                  ! V 3\        P
                  R7      &   VP                  VP                  8X  g   Q hR# )ih6 rL   FN)	r"   r+   r  r   onesr  rV  zerosr   )Nr#  r   s      r/   /test_setitem_boolean_replace_with_mask_segfaultr    sn    A
b..BHH0M/NO
PCxxzH*/C!RXX&'==H.....r1   zdata, arrow_dtyperF   rG   c                    \        V4      p\        P                  ! \        P                  ! V 4      VR 7      p\        P                  ! WR 7      p\        P
                  ! W44       R# r   )r   r\   r]   r   r   r   )r_   rd  r7   r   r   s   &&   r/   -test_conversion_large_dtypes_from_numpy_arrayr    sB     {#EXXbhhtnE2Fxx*H##F5r1   c                 B   \         P                  ! R RR./\        \        P	                  4       4      R7      p \         P                  ! R ^ ^./RR7      p\         P
                  ! W.RR7      p\         P                  ! R . RO/RR7      p\        P                  ! W#4       R# )rA   NrL   r|   T)ignore_index)NNr   r1  )r\   rl  r   r+   nullr  r   ro  )rp  df2r   r   s       r/   test_concat_null_arrayr  "  sv    	sT4L)BGGI1F	GB
,,aV},<
=CYYyt4F||S"45=MNH&+r1   c                   \         P                  ! . RO\        V 4      R7      pVP                  4       p\         P                  ! . RO\        \        P                  4       4      . ROR7      p\        P                  ! W#4       R# )r1  rL   r7   rf  Nr1  r   r&  )r&  r   r1  r1  r3  g       @r  r&  r	  r   r  r  25%50%75%r  )r\   r   r   describer+   r   r   r   r   r_   r   r   s   &   r/   test_describe_numeric_datar  +  sV     99Yj&9:D]]_Fyy&&IH
 6,r1   c                L   \         P                  ! \        ^^
4      \        V 4      R7      pVP	                  4       p\         P                  ! ^	.\         P
                  ! . ROV P                  R7      P                  4       O\        . ROR7      p\        P                  ! W#4       R# )r1  rL   rR  r  N)r(  r   r1  r&  r(  r)  	   r  )r\   r   r5  r   r  rU  r   r  r   r   r   r  s   &   r/   test_describe_timedelta_datar  8  sr     99U1b\G)<=D]]_Fyy	
PR__2FMMOPIH
 6,r1   c                t   \         P                  ! \        ^^
4      \        V 4      R7      pVP	                  4       p\         P                  ! ^	.R Uu. uF/  p\         P
                  ! W0P                  V P                  R7      NK1  	  up,           \        . ROR7      p\        P                  ! W$4       R# u upi )r1  rL   )r   r   r  N)r(  r1  r&  r(  r)  r  )r	  r   r  r  r  r  r  )r\   r   r5  r   r  r  r   r   r   r   r   )r   r_   r   vr   s   &    r/   test_describe_datetime_datar  E  s     99U1b\G)<=D]]_Fyy	
 (
' LLzz='
	

 BH 6,
s   5B5
c                    . ROp\         P                  ! V\        V 4      R7      pVP                  R4      pV^ ,          pW48X  g   Q hR# )r1  rL   皙?Nr  )r\   r   r   rF  )r   r_   r   r   r   s   &    r/   test_quantile_temporalr  V  sA    
 D
))D
7 3
4C\\#F1vHr1   c                     \         P                  \        P                  ! R 4      .\         P	                  4       R7      p \
        P                  ! V \        V P                  4      R7      p\        V4      R8X  g   Q hR# )z
2020-01-01r  rL   z+0    2020-01-01
dtype: date32[day][pyarrow]N)
r+   r]   r   fromisoformatr  r\   r   r   rb   repr)arrow_dtr   s     r/   test_date32_reprr  b  sT    xx++L9:xMH
))HJx}}$=
>C9FFFFr1   c                    \         P                  ! ^R.4      p \         P                  ! ^R.4      p\         P                  ! V \	        \
        P                  R4      4      R7      p\         P                  ! V\	        \
        P                  R4      4      R7      pW#,           p\         P                  ! ^R.\	        \
        P                  R4      4      R7      p\        P                  ! WE4       R# )r1  Nrj  rL   )
r\   rb  rU  r   r   r+   r2  r  r   r   )data_tsdata_tdser_tsser_tdr   r   s         r/   2test_duration_overflow_from_ndarray_containing_natr  i  s    nnaY'Gooq$i(GYYwjd1C&DEFYYwjT1B&CDF_Fyy!T*R\\$5G*HIH6,r1   c                (   \         P                  ! V 4      pVR 8w  g   Q hV P                  '       d9   VR9   d2   \        P                  P                  RR7      pVP                  V4       V\         P                  ! \        V 4      RR7      8X  g   Q hR# )zunknown-arrayzfin infer_dtype pd.NA is not ignored in these cases even with skipna=True in the list(data) check belowr   Tr   N)
datetime64timedelta64)r
   infer_dtyper  r(   r)   r*   r-   r   )r_   r.   rs  r)   s   &&  r/   test_infer_dtype_pyarrow_dtyper  t  s{    
//$
C/!!!{{{s;;{{  B ! 
 	D!#//$t*T::::r1   c                   ^pV P                   p\        P                  P                  V 4      '       d)   \        P
                  ! WR7      P                  V4      .pM2\        P                  ! WV P                  R7      P                  V4      .p\        P                  ! W0R7      p\        \        P                  V.V R7      4      p\        P                  ! WE4       R# )r&  rR  r   r   rL   r  N)r   r+   rO   rW   r\   rl  rO  r  r   r"   rc   r]   r   r   )r   re  r   seqr   r   s   &     r/   test_from_sequence_temporalr    s    
 C<<D	xxG$$||C+33D9:||Cwzz:BB4HI //CF"288SE8#@AH##F5r1   c                   V P                   p\        P                  P                  V 4      '       d)   \        P
                  ! ^VR7      P                  V4      pM1\        P                  ! ^WP                  R7      P                  V4      p\        \        P                  . ROV R7      4      pVP                  4       pW$R&   \        \        P                  . ROV R7      4      p\        P                  ! WE4       R# )r1  rR  r  r  r  Nr  )r1  r1  r1  )r   r+   rO   rW   r\   rl  rO  r  r   r"   r]   rV  r   r   r   r   re  r#  r   r   s   &     r/   test_setitem_temporalr    s    
 <<D	xxG$$ll14(006ll14JJ7??E
bhhywh?
@CXXZF1I"288IG8#DEH##F5r1   c                .   \        \        P                  . ROV R7      4      pV P                  pV\        P
                  ! ^VR7      P                  V4      ,
          p\        \        P                  . ROV R7      4      p\        P                  ! WE4       R# )r1  r  rR  Nr  )r   r1  r   )	r"   r+   r]   r   r\   rl  rO  r   r   )r   r.   r#  r   r   r   s   &&    r/   test_arithmetic_temporalr    si    
 bhhywh?
@C<<D2<<-55d;;F"288IG8#DEH##F5r1   c                   V P                   p\        P                  P                  V 4      '       d)   \        P
                  ! ^VR7      P                  V4      pM1\        P                  ! ^WP                  R7      P                  V4      p\        \        P                  . ROV R7      4      pW28  p\        \        P                  . RO\        P                  4       R7      4      p\        P                  ! WE4       R# )r1  rR  r  r  Nr  )FTT)r   r+   rO   rW   r\   rl  rO  r  r   r"   r]   r  r   r   r  s   &     r/   test_comparison_temporalr    s    
 <<D	xxG$$ll14(006ll14JJ7??E
bhhywh?
@CYF"288,?bhhj8#QRH##F5r1   c                |   \        \        P                  . ROV R7      4      pV^,          p\        P                  P	                  V 4      '       d_   \
        P                  ! ^V P                  R7      P                  V P                  4      p\        V\
        P                  4      '       g   Q hMh\
        P                  ! ^V P                  V P                  R7      P                  V P                  4      p\        V\
        P                  4      '       g   Q hVP                  VP                  8X  g   Q hW#8X  g   Q hR# )r1  r  rR  r  Nr  )r"   r+   r]   rO   rW   r\   rl  r   rO  r~   r  r   r   r#  r   r   s   &   r/   test_getitem_temporalr    s    
 bhhywh?
@CVF	xxG$$<<5==gllK&",,////<<DLLLL
 &",,////;;(--'''r1   c                   \        \        P                  ^R.V R7      4      p\        V4      p\        P                  P                  V 4      '       dv   \        P                  ! ^V P                  R7      P                  V P                  4      \        P                  .p\        V^ ,          \        P                  4      '       g   Q hM\        P                  ! ^V P                  V P                  R7      P                  V P                  4      \        P                  .p\        V^ ,          \        P                  4      '       g   Q hV^ ,          P                  V^ ,          P                  8X  g   Q hW#8X  g   Q hR# )r1  Nr  rR  r  )r"   r+   r]   r   rO   rW   r\   rl  r   rO  re  r~   r  r   r  s   &   r/   test_iter_temporalr    s	   
 bhh4ywh?
@C#YF	xxG$$LL.66w||DEE
 &)R\\2222 LL'**=EEgllSEE
 &)R\\2222!9>>Xa[-----r1   c                    \         P                  ! V R ,          . ROR7      pVP                  ^ R7      P                  4       p\         P                  ! ^^.RRR.R7      p\        P
                  ! W#4       R# )	:Nr&  NrA   rB   rK  )levelr|   r  N)rA   rA   rB   )r\   r   groupbysizer   r   r/  s   &   r/   'test_groupby_series_size_returns_pa_intr    sX    
))DHO
4C[[q[!&&(Fyy!Q'7SzJH6,r1   c                L   \        \        P                  ^R.V R7      4      pVP                  VR7      p\        P                  P                  V 4      '       d=   \        P                  ! ^V P                  R7      P                  V P                  4      pMF\        P                  ! ^V P                  V P                  R7      P                  V P                  4      pV\        8X  g4   \        P                  P                  V 4      '       d}   V P                  eo   V\        8X  d   \        P                  pM\        P                  p\         P                  ! WE.\        R7      pV^ ,          P                  VP                  8X  g   Q hMV P#                  4       P%                  RV P                  4      pVP                  4       p\         P                  ! WE.4      p\         P&                  ! V^ ,          4      ^ ,          V P                  8X  g   Q h\(        P*                  ! W64       R# )r1  Nr  rL   rR  r  nat)r"   r+   r]   r   rO   rW   r\   rl  r   rO  r  r   r   rV   re  r  r   to_pandas_dtyperb   datetime_datar   r   )r   r7   r#  r   rV  r  r   s   &&     r/   test_to_numpy_temporalr    sh    bhh4ywh?
@C\\\&F	xxG$$QW\\2::7<<HQW\\gjjAII',,W2880099gjj>TF?BB88UKv6ay~~+++$$&++E7<<@ 88UK(q	*1-===1r1   c                   \         P                  ! R ^^.RV RV /4      pVP                  R 4      P                  4       p\         P                  ! ^^..\         P                  ! ^.R R7      RR.RR7      p\
        P                  ! W#4       R# )rj   rk   rl   r  r|   )rf  r  r7   N)r\   rl  r  r	  Indexr   ro  )rd   rp  r   r   s   &   r/   %test_groupby_count_return_arrow_dtyper    sx    	sQFCsLI	JBZZ_""$F||
Qhhs%c
	H &+r1   c            
         \         P                  ! ^^.^^..\        \        P	                  \        P                  4       ^R7      4      R7      p V P                  P                  pV\        8X  g   Q hR# )r1  )	list_sizerL   N)	r\   r   r   r+   r~  r  r7   rb   r   )r   r   s     r/   test_fixed_size_listr    sU    
))
Q!Q
288BHHJ!8+L MC YY^^FT>>r1   c            	         \         P                  ! \         P                  ! R ^R7      R.\        \	        R4      4      R7      p \        V 4      pRpW8X  g   Q hR# )2012)r|  r  Dr  z#     col
0  15340
1  15341
2  15342N)r\   rl  period_ranger   r#   r  rp  r   r   s      r/   'test_arrowextensiondtype_dataframe_reprr  (  sN    	
*-.
B
 "XF 8Hr1   c                     \         P                  ! ^R.RR7      p V P                  R^R7      p\         P                  ! ^R.RR7      p\        P                  ! W4       R# )r   Nr|   rL   )r  )r\   r   powr   r   )kr   r   s      r/   test_pow_missing_operandr  6  sL    
		1d)#34AUU4AU&Fyy!T*:;H6,r1   c            
     t   \         P                  ! R .\        \        P	                  4       4      R7      p \
        P                  ! \        P                  P                  RR7      ;_uu_ 4        V P                  \        \        P                  ^^ 4      4      4       RRR4       R#   + '       g   i     R# ; i)1.2345rL   z3Rescaling Decimal(128)? value would cause data lossr   N)r\   r   r   r+   r   r(   r&   r
   r,   r   r"  r  s    r/   test_decimal_parse_raisesr   >  ss    
))XJj&=
>C	
#X
 
 	

:bmmAq123
 
 
 
s   -/B&&B7	c                 >   \         P                  ! R .\        \        P	                  4       4      R7      p \        \        P                  ^^4      4      pV P                  V4      p\         P                  ! \        R 4      .VR7      p\        P                  ! W#4       R# )r  rL   N)
r\   r   r   r+   r   r"  r   r   r   r   )r   r7   r   r   s       r/   test_decimal_parse_succeedsr  G  sh    
))XJj&=
>Cr}}Q*+EZZFyy'(+,E:H6,r1   c                X   \         P                  ! R ^.\        V 4      R7      p\         P                  ! \        P                  ! ^^.RV P
                   R2R7      4      pVP                  V4      p\         P                  ! ^^.\        V 4      R7      p\        P                  ! W44       R # )NrL   zm8[rI  )	r\   r   r   r   r]   r   rQ  r   r   )r   ser1r
  r   r   s   &    r/   test_duration_fillna_numpyr  P  s|     99dAYj&9:D99RXXq!fc',,q,ABCD[[Fyy!Qz'':;H6,r1   c                    \         P                  ! R.RR7      p \         P                  ! R.RR7      p\        P                  ! \        P
                  P                  RR7      ;_uu_ 4        W8   RRR4       R#   + '       g   i     R# ; i)r1  r  rL   Nr|   zInteger valuer   l            )r\   r   r(   r&   r+   r
   r,   )rA   rB   s     r/   +test_comparison_not_propagating_arrow_errorr  Z  sX    
		7)#45A
		4& 01A	rvv**/	B	B	 
C	B	B	Bs   +A::B	c                     \         P                  \         P                  R .4      P                  4       \         P                  R.4      P                  4       .4      p \        P
                  ! \        V 4      4      pVP                  4       w  r#\        P                  ! ^ ^.\        P                  R7      p\        P                  ! \        V P                  4       4      4      p\        P                  ! W$4       \        P                  ! W54       R# )rA   rB   rL   N)r+   r  r]   dictionary_encoder\   r   r"   	factorizer   intpr  r   r   r   assert_index_equal)r   r   res_indicesres_uniquesexp_indicesexp_uniquess         r/   !test_factorize_chunked_dictionaryr  b  s    	3%	*	*	,bhhuo.O.O.QRH ))'1
2C"}}K((Aq61K((.x/F/F/HIJK9+3r1   c            
        \         P                  ! R \         P                  .\        \        P                  \        P                  4       \        P                  4       4      4      R7      p V P                  RR7      w  r\        P                  ! ^ ^.\        P                  R7      p\         P                  ! R R.\        \        P                  4       4      R7      p\        P                  ! W4       \        P                  ! W$4       R# )r  rL   F)use_na_sentinelN)r\   r]   re  r   r+   r  r  rr  r
  r   r  r   r   r   r   )r#  indicesuniquesexpected_indicesexpected_uniquess        r/   !test_factorize_dictionary_with_nar  o  s    
((	ruuZbhhj"'')(LMC }}U};GxxAbgg6xxtJryy{4KL:##G>r1   c                 d   \         P                  \        P                  ! . RO4      4      P                  4       \         P                  \        P                  ! . RO4      4      P                  4       .p \        P
                  ! \        \         P                  V 4      4      4      pVP                  R4      p\        P                  ! . RO\        \         P                  4       4      R7      p\        P
                  ! . RO\        P                  ! VR7      R7      p\        P                  ! W$4       R# )	rA   categoryrL   )
categoriesN)rA   r   rh   rA   )rA   r.  rh   )rA   r   rh   r.  )rA   r   rh   rA   rA   r.  rh   )r+   r]   r   r	  r\   r   r"   r  r   r  r   r   CategoricalDtyper   r   )arrsr   r   r  r   s        r/   "test_dictionary_astype_categoricalr  {  s     	./0BBD
/*+==?D ))'(8(8(>?
@CZZ
#F.j6MNJyy+!!Z8H 6,r1   c                     \         P                  ! R.RR7      p \         P                  ! ^.RR7      p\         P                  ! R.RR7      pW,          p\        P                  ! W24       R# )r)  r|   rL   NirM   r  )rA   rB   r   r   s       r/   test_arrow_floordivr     sP    
		2$./A
		1#-.Ayy"%56HVF6,r1   c                     \         P                  ! R .RR7      p \         P                  ! R.RR7      pV R,          p\        P                  ! W!4       R# )l     ^ \K r|   rL   l    \p/i@B Nr  )rA   r   r   s      r/    test_arrow_floordiv_large_valuesr"    sA    
		&'/?@Ayy-0@AH)^F6,r1   r|   r  c                v    \         P                  ! R .V R7      pV^,          p\        P                  ! W!4       R# )   rL   Nr  )r7   rA   r   s   &  r/   )test_arrow_floordiv_large_integral_resultr%    s/     			$%U3A!VF6%r1   c                    \        V 4      p\        P                  ! R.VR7      pV^,          p\        P                  ! R.VR7      p\        P                  ! W44       R# )r  rL   NirN   )r   r\   r   r   r   )r   r7   rA   r   r   s   &    r/   "test_arrow_floordiv_larger_divisorr'    sI     wE
		3%u%A"WFyy"U+H6,r1   c                   \         P                  ! V P                  4       4      P                  p\        P
                  ! V.\        V 4      R 7      p\        P                  ! \        P                  P                  RR7      ;_uu_ 4        VR,           RRR4       \        P                  ! \        P                  P                  RR7      ;_uu_ 4        V^ ,           RRR4       R#   + '       g   i     L\; i  + '       g   i     R# ; i)rL   zoverflow|not in ranger   Nzdivide by zerorN   )r   iinfor  r  r\   r   r   r(   r&   r+   r
   r,   )r   	min_valuerA   s   &  r/   $test_arrow_floordiv_integral_invalidr+    s     002377I
		9+Z%89A	rvv**2I	J	J	R 
K	rvv**2B	C	C	Q 
D	C 
K	J	C	C	Cs   	
C'
C:'C7	:D	c                    \         P                  ! ^.V R7      pV^ ,          p\         P                  ! \        R4      .V R7      p\        P                  ! W#4       R# )r   rL   infN)r\   r   r  r   r   )r7   rA   r   r   s   &   r/   &test_arrow_floordiv_floating_0_divisorr.    sC     			1#U#A!VFyy%,u5H6,r1   c                    \         P                  ! ^R.RR7      pVP                  V 4      p\         P                  ! ^R.V R7      p\        P                  ! W#4       R# r  r  r  s   &   r/   (test_astype_int_with_null_to_numpy_dtyper0    sI     ))QI%5
6CZZFyy!T%0H6,r1   c                   \         P                  ! V P                  4       4      P                  p\	        V 4      p\
        P                  ! V.VR 7      p\
        P                  ! ^.VR 7      pW4,          p\        P                  ! WS4       R# r   )	r   r)  r  r  r   r\   r   r   r   )r   	max_valuer7   rA   rB   r   s   &     r/   )test_arrow_integral_floordiv_large_valuesr3    sd     002377IwE
		9+U+A
		1#U#AVF6%r1   c                    \         P                  ! ^ .V R7      p\         P                  ! R.V R7      p\         P                  ! ^ .RR7      pW,          p\        P                  ! WC4       R# )r   rL   r$  r  Nr  r7   rA   rB   r   r   s   &    r/   &test_arrow_true_division_large_divisorr6    sR     			1#U#A
		$%U3Ayy!$67HUF6,r1   c                    \         P                  ! ^ .V R7      p\         P                  ! R.V R7      p\         P                  ! ^ .V R7      pW,          p\        P                  ! WC4       R# )r   rL   r$  Nr  r5  s   &    r/   'test_arrow_floor_division_large_divisorr8    sQ     			1#U#A
		$%U3Ayy!E*HVF6,r1   c            	        . ROp \         P                  ! V RR7      p\         P                  ! V 4      P                  R4      p\         P                  ! \	        \
        P                  VRR7      4      4      p\        P                  ! W4       R# )2020-01-01 04:30:00ztimestamp[s][pyarrow]rL   r  Tfrom_pandasN)r:  z2020-01-02 00:00:00z2020-01-03 00:00:00)	r\   r   rb  rO  r"   r+   r]   r   r   )string_datesr   pd_resr   s       r/   $test_string_to_datetime_parsing_castr?    s`    XLYY|+BCF^^L)11#6Fyy,RXXf$X-OPQH6,r1   c                   V P                   P                  '       g   \        P                  ! V 4      p\        P
                  ! R VP                    R24      p\        P                  ! \        VR7      ;_uu_ 4        \        P                  ! V 4      P                  4        RRR4       R# R#   + '       g   i     R# ; i)zCannot interpolate with z dtyper   N)
r7   r,  r\   r   reescaper(   r&   r   interpolate)r_   r   r9  s   &  r/   test_interpolate_not_numericrD    sy    ::!!!iioii2399+VDE]]9C00IIdO'') 10 " 100s   ;%B,,B=	r  c                    \         P                  ! . ROV R7      pVP                  4       p\         P                  ! . ROV R7      p\        P                  ! W#4       R # )NrL   )Nr1  r   Nr'  N)Nr1  r   r&  r'  N)r\   r   rC  r   r   r  s   &   r/   test_interpolate_linearrF    s>    
))/u
=C__Fyy1?H6,r1   c                     R .p \         P                  ! V RR7      p\         P                  ! \        \        P	                  \        ^^)^+R4      .RR7      4      4      p\        P                  ! W4       R# )z11:41:43.076160ztime64[us][pyarrow]rL   i) Tr;  N)r\   r   r"   r+   r]   r   r   r   )string_timesr   r   s      r/    test_string_to_time_parsing_castrI    s\    %&LYY|+@AFyyBHHd2r2u&=%>DHQRH 6,r1   c                     \         P                  ! . RORR7      p V P                  R4      p\         P                  ! ^ ^(\        P                  .RR7      p\
        P                  ! W4       R# )    Nr  rL   r   rK  (   N)r\   r   r   r   r   r   r   r  s      r/   test_to_numpy_floatrN    sJ    
))N*:
;CZZ	"Fyy"b"&&);H6,r1   c                     \         P                  ! R .RR7      p V P                  \        P                  R7      p\        P
                  ! R.4      p\        P                  ! W4       R# )r:  timestamp[ns][pyarrow]rL   l    P)#-/ N)r\   r   r   r   r  r]   r   r   r  s      r/   test_to_numpy_timestamp_to_intrQ    sK    
))*+3K
LC\\\)Fxx,-.H1r1   
arrow_typec                   \         P                  ! R RR./RR7      p\        \        P	                  \        P                  4       V 4      4      pVP                  R V/4      pVP                  P                  ^ ,          V8X  g   Q hR# )rA   r   r  r  rL   N)	r\   rl  r   r+   r  r  r   dtypesr  )rR  rp  	data_typer   s   &   r/   *test_cast_dictionary_different_value_dtyperV    sg    	sS#J'/@	AB2==Z@AIYYY'(F==a I---r1   c                D   \         P                  ! . R
ORR7      pVP                  R RR7      pV '       g+   \         P                  ! RR\         P                  .RR7      pM)\         P                  ! RR\        P
                  .R	R7      p\        P                  ! W#4       R# )rK  Nr|   rL   c                    ^*# )*   r   r   s   &r/   r   ,test_map_numeric_na_action.<locals>.<lambda>(  s    rr1   r   r   g      E@r   r   rL  )r\   r   r   re  r   r   r   r   )r   r   r   r   s   &   r/   test_map_numeric_na_actionr[  &  sl    
))N*:
;CWW\XW6F99dD"%%0A99dD"&&1C6,r1   c                    \         P                  ! R RR./\        \        P	                  \        P                  4       \        P                  4       4      4      R7      p V P                  RR7      p\         P                  ! ^^.\         P                  P                  \         P                  ! RR.\        \        P                  4       4      R R7      .4      RRR	7      p\        P                  ! W4       R
# )rj   r  r  rL   FrX  )r7   r!  r	  r  )rf  r!  r7   N)r\   rl  r   r+   r  r  rr  r  r   
MultiIndexfrom_arraysr  r   r   r   r  s      r/   &test_categorical_from_arrow_dictionaryr_  0  s    		tTl:bmmBHHJ	.R#S
B __E_*Fyy	
Amm''XXtTl*RYY[*ALM
 H 6,r1   z(pa.json_ was introduced in pyarrow v19.0r   c                     \        \        P                  \        P                  4       4      4      p V P                  pV\
        8X  g   Q hR # r   )r   r+   json_r   rb   r   )r7   r   s     r/   test_arrow_json_typerb  A  s2    
 rxx		,-EZZFS==r1   c            
        \         P                  ! R 4      \        R4      .p Rp\        P                  ! \
        VR7      ;_uu_ 4        \         P                  ! V 4       RRR4       \        P                  ! \
        VR7      ;_uu_ 4        \         P                  ! V \        \        P                  R4      4      R7       RRR4       R#   + '       g   i     Ls; i  + '       g   i     R# ; i)z2016-01-02 03:04:05NaNz8<class 'decimal.Decimal'> is not convertible to datetimer   Nri  rL   )r\   r  r   r(   r&   r   rb  r]   r   r+   r2  )valsr9  s     r/   &test_timestamp_dtype_disallows_decimalrf  K  s     LL./@D
DC	y	,	,
t 
- 
y	,	,
ZT(:;< 
-	,	 
-	, 
-	,	,s   C
5C
C	C.	c                     R p Rp\         P                  ! R4      p\         P                  ! V.VR7      p\         P                  ! V.V R7      P                  RR7      p\        P
                  ! W44       R# )zdatetime64[ns, US/Eastern]ra  z2025-07-03 18:10rL   r!   )r`  N)r\   r  r   convert_dtypesr   r   )dtype1dtype2tsr   r   s        r/   (test_timestamp_dtype_matches_to_datetimerl  Y  s[    )F1F	(	)BYYt6*Fyy"V,;;);TH6,r1   c                     \         P                  ! R .RR7      p V P                  R4      pW8H  p\         P                  ! R.RR7      p\        P                  ! W#4       W8H  p\        P                  ! W#4       R# )
2016-01-01rP  rL   r.  Tr{   Nr  )r   r   r   r   s       r/   !test_timestamp_vs_dt64_comparisonro  f  s`    99l^+CDDKK()E]Fyy$7H6,]F6,r1   c                 N   \         P                  ! R .RR7      p V P                  R4      pV^ ,          pV ^ ,          pW8H  P                  4       '       d   Q hW 8H  P                  4       '       d   Q hW8H  P                  4       '       d   Q hW18H  P                  4       '       d   Q hR# )rn  date32[pyarrow]rL   rP  N)r\   r   r   r  )r   r
  rk  rP  s       r/   (test_date_vs_timestamp_scalar_comparisonrr  t  s    
))\N*;
<C::./D	aB	QB 	    	     
!!!!
!!!!!r1   c                    \         P                  ! R .RR7      p V P                  R4      pV P                  R4      pW8H  P                  4       '       d   Q hW8H  P                  4       '       d   Q hW8g  P	                  4       '       g   Q hW8g  P	                  4       '       g   Q hW8H  P                  4       '       d   Q hW 8H  P                  4       '       d   Q hW8g  P	                  4       '       g   Q hW 8g  P	                  4       '       g   Q hR# )rn  rq  rL   rP  r.  N)r\   r   r   r  r  )r   r
  r  s      r/   'test_date_vs_timestamp_array_comparisonrt    s     ))\N*;
<C::./D::&'D  """"  """"KK  """"  """"KKr1   c                   \         P                  ! . RORR7      pV\        P                  ,
          pV '       d(   VP	                  4       P                  4       '       g   Q hM&VP	                  4       P                  4       '       d   Q hV\        P                  ,          pV '       d(   VP	                  4       P                  4       '       g   Q hM&VP	                  4       P                  4       '       d   Q hV^ ,          pV '       d"   VP	                  4       ^,          '       g   Q hR# VP	                  4       ^,          '       d   Q hR# )r1  r|   rL   NrN   r   r1  )r\   r   r   r   rP  r  r  )r   r   r   s   &  r/   test_ops_with_nan_is_narw    s    
))J&6
7C266\F{{}  """";;=$$&&&&266\F{{}  """";;=$$&&&&1WF{{}Q;;=#####r1   c                6   \         P                  ! . RORR7      pV '       d4   \        P                  V^&   VP	                  4       ^,          '       g   Q hMVRp\
        P                  ! \        P                  P                  VR7      ;_uu_ 4        \        P                  V^&   RRR4       \         P                  ! R\        P                  ^.RR7      pV '       do   VP	                  4       ^,          '       g   Q hV^,          \         P                  J g   Q h\        P                  V^&   V^,          \         P                  J g   Q hR# VP	                  4       ^,          '       d   Q h\        V^,          \        4      '       g   Q h\        P                  ! V^,          4      '       g   Q h\        P                  V^&   \        V^,          \        4      '       g   Q h\        P                  ! V^,          4      '       g   Q hR#   + '       g   i     ELl; i)	r1  r|   rL   z@Could not convert nan with type float: tried to convert to int64r   Nr  rN   rv  )r\   r   r   r   rP  r(   r&   r+   r
   r,   re  r~   r  isnan)r   r   r9  s   &  r/   test_setitem_float_nan_is_narz    sb   
))J&6
7CAxxz!}}}P]]266..c::VVCF ; ))RO+=
>Cxxz!}}}1vA1v 88:a==  #a&%((((xxAA#a&%((((xxA% ;::s   HH	c                     \         P                  ! R R .RR7      p V P                  ^4      p\         P                  ! \         P                  \         P                  .RR7      p\        P
                  ! W4       R # )Nr  rL   )r\   r   r  re  r   r   )r  r   r   s      r/   test_pow_with_all_na_floatr|    sQ     			4,&89AUU1XFyy"%%/ABH6,r1   c                    \         P                  ! \        ^4      RR7      p \         P                  ! \        ^4      RR7      p\         P                  ! . RORR7      pW,          p\        P                  ! W24       W,          p\        P                  ! WB4       W8H  p\         P                  ! R.^,          RR7      p\        P                  ! WV4       W8H  p\        P                  ! Wv4       R# )r(  r   rL   r  Tr{   N)r   r1  r'  r     )r\   r   r5  r   r   )r   r   r   r   r8  result3r  result4s           r/   *test_mul_numpy_nullable_with_pyarrow_floatr    s    99U1XY/DIIeAh&89Eyy)1CDH\F6,lG7- mG		4&1*O<I7.mG7.r1   ztype_name, expected_sizec                   R \         P                  R4      R\         P                  R4      R\         P                  R4      R\         P	                  ^&^
4      R\         P                  ^L^
4      /pW9   d   VP                  V 4      pM\        \         V 4      ! 4       p\        V4      pV R8X  d   VP                  P                  pVP                  V8X  g3   Q V  RV R	VP                   R
\        VP                  RR4       R24       hR# )r2  rj  time32r  r  r"  
decimal256r  z
 expected z, got z (bit_width=r   zN/A)N)r+   r2  r  r  r"  r  r  r   r   numpy_dtypeitemsizer5   )	type_nameexpected_sizeparametric_type_maprR  r7   s   &&   r/   %test_arrow_dtype_itemsize_fixed_widthr    s    D 	R\\$'"))C."))D/bmmB+bmmB+ '(,,Y7
R+-
z"EG))22>>]* +ZfU^^4D Ee11;FGq	J*r1   r  c                    \        \        V 4      ! 4       p\        V4      pVP                  VP                  P                  8X  g   Q hR # r   )r   r+   r   r  r  )r  rR  r7   s   &  r/   (test_arrow_dtype_itemsize_variable_widthr  $  s;     Y')Jz"E>>U..77777r1   c                    \         P                  ! . R R7      p V P                  p\        R4      pVP	                  V.4      pVP
                  P                  p\        P                  P                  V4      '       g   Q hR# )r  rL   rd  N)
r\   r   r]   r   r  r7   r5   r+   rO   rT   )r   r#  itemr   r   s        r/   %test_cast_pontwise_result_decimal_nanr  .  sa    
))B0
1C
))C5>D''/Fll((G88w''''r1   c                 &   \         P                  ! R \         P                  .RR7      p \        P                  ! V 4      p\         P                  ! \        P                  ! R 4      \         P                  .RR7      p\
        P                  ! W4       R# )r  r  rL   N)r\   r   re  r   sinr   r   r  s      r/   test_ufunc_retains_missingr  :  sX    
))S"%%L(:
;CVVC[Fyy"&&+ruu-5GHH6,r1   c                $   R V  R2p\         P                  ! \        ^R7      \        ^R7      .VR7      p\        W14      ! 4       p\	        V\         P
                  4      '       g   Q V RV  R\        V4       24       hVP                  V 8X  g   Q hR# )rS  rT  )rg  rL   r  
 returned N)r\   r   r   r   r~   rl  rb   r   r   rW  r7   r   r   s   &&   r/   #test_duration_reduction_consistencyr  D  s     vZ(E
))Yq)9Q+?@
NCS!#Ffbll++ (%vZV~6+ ;;$r1   c                (   R V  R2p\         P                  ! \        R^^4      \        R^^4      .VR7      p\        W14      ! 4       p\	        V\         P
                  4      '       g   Q V RV  R\        V4       24       hVP                  V 8X  g   Q hR# )r]  rT  r  rL   r  r  N)r\   r   r   r   r~   r  rb   r   r  s   &&   r/   $test_timestamp_reduction_consistencyr  P  s     j)E
))XdAq)8D!Q+?@
NCS!#Ffbll++ (%vZV~6+ ;;$r1   )linearr  rM  nearestmidpoint)r   r   r   r   r'  r'  )r   r   r   r   r'  r'  )r1  r1  )TNFr"  )FTF)rA   eg)TNT)rA   rh   r  r   )FNF)r  r  rN   r  )FFFNr  r  )r  r   r1     N)r  rN   r   r&  r  N)r<  azabcerA   caa)rB   r  N)rh   r  N)rh   NN)rA   NNr#  )a1cisalnumT)z!|,r  F)aaaisalphaT)z!!!r  F)u   ٠	isdecimalT)z~!r  F)rC   isdigitT)~r  F)r  islowerT)aaAr  F)r@  	isnumericT)11Ir  F) isspaceT)r<  r  F)zThe ThatistitleT)zthe Thatr  F)AAAisupperT)AAcr  F)r  Nz abc )r  r   xabcx)lstripNz abc)r  r   xabc)rstripNzabc )r  r   abcx)rj  ri  r  r  )r  r(  r   )Nr1  r8  )ceilrQ  r  )r  hr  r  r  ri  rj  )rj  ri  rj  r  rj  r  )ri  r  )ri  r  )r  r  )r  r  )r  ri  r  rj  )r  ri  r  rj  rh  )r  r  r  r  r  rh  )r  r  ri  rj  )r   r.  ru  ))r  r1  )int16r   )r  r'  )r     )uint8r1  )uint16r   )uint32r'  )r  r  )float16r   )r  r'  )r   r  )r  r1  )r  r'  )r  r  )r2  r  )r  r'  )r  r  )r"  r~  )r  rK  )r   r>  large_string)r   r  r  r   r   )r  r  r   ('  r$  
__future__r   r   r   r   r   decimalr   ior   r	   r  r}  rA  rx  numpyr   r(   pandas._libsr
   pandas._libs.tslibsr   pandas.compatr   r   r   r   r   r   r   pandas.errorsr   pandas.core.dtypes.commonr   pandas.core.dtypes.dtypesr   r   pandasr\   pandas._testing_testingr   pandas.api.extensionsr   pandas.api.typesr   r   r   r   r   r   r   r   pandas.tests.extensionr    importorskipr+   pandas.core.arrays.arrow.arrayr"   (pandas.core.arrays.arrow.extension_typesr#   r0   fixtureALL_PYARROW_DTYPESr   r7   r_   rd   rf   rm   rp   rs   rw   ExtensionTestsry   r  r)   r  ALL_INT_PYARROW_DTYPESr-  r/  r3  r7  rA  rD  rT  r]  r`  r>  byteslarge_binaryr  r~  r  r   
large_listmap_r   structr  dictr  rf  rm  rp  rr  rt  rv  rx  rz  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  compiler  r  r  r  r  r  r  r  r%  r)  r+  r0  r2  r9  r;  r>  r*   r  rD  rF  rN  rT  rX  r`  rb  rf  rl  rq  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r
  r  r  r  r"  r%  r(  r0  r3  r6  r9  r?  r  rD  rG  rJ  rM  rP  rZ  r_  rc  re  rm  rp  rw  r  r  r  r  r  r  r  r  r  r  r  FLOAT_PYARROW_DTYPESr  TIMEDELTA_PYARROW_DTYPESr  DATETIME_PYARROW_DTYPESr  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r   r  r  r  r  r  r  r   r"  r%  SIGNED_INT_PYARROW_DTYPESr'  r+  FLOAT_PYARROW_DTYPES_STR_REPRr.  r0  r3  r6  r8  r?  rD  rF  rI  rN  rQ  rV  r[  r_  skipifrb  rf  rl  ro  rr  rt  rw  rz  r|  r  r  r  r  r  r  r  r   r1   r/   <module>r     st   #     	 
    )   ) 2
   ,	 	 	 (# > D	" r,,#63 73 8' 8'v H H
 /0 1 7A 7At 
 
 
 
  nOT(( nOb^1 ^1B B$=$=>- ?-0C+57 I cC:%67F1 8F1R 1a&!$6#<=	}%  
-
-	-  	e	2		E"		C 	"((*	t$	rxxz	"D)	bhhj	)40	T2779%biik':;	<dC	rxxz288:	.0DE
99-
**131(; 2-,2&
2 #.."&&)A6(JK2 L22
26..-Q-",  45- 6-& (7G*<vx>PQ--# 	udED$<0	tT55$-0	udED$<0	eT4$6	dD$6	-	-' 	tT#67	sE#89	S$ 45	T4!45	.@A	_d,>?	r4!56	R34	-- !;<- =- RZZ_}vuo|L"	" 	c2uvtn-	c1efd^,	#r4&$0--/&- 	udT4L)	tTE4=)	tTE4=)	udT4L)	eTD$<0	dD5$-0
-
-  
t78	d78	tT67	ud78	eT#=>	dD"=>	89	5$ :;	t89	4:;	d$>?	$&@A	*-+*- $	q$D	288:.	q!aY
+	q!b$Z,	r2Dz288:.	------ ";< 9: >?. @ ; =.- 	
		
		
	-	- J  -	-- 	q$t%	q!dD\"	
Aq4,	tR&$(	-- 	
AsVTN#	q#t}%	q$t%--  ! !!" !"#%& !%.-/.- 	y!	)	Y	)	)	Y
-
--    
-
- 5 12- 3- 5 12- 3- Hh#78	(FE512TQ	
	 
  - 9- 1a&)- *- GX#67	
D		
A4 84 %1- 2- 	
D		
A----,-6 Hg#67- 8-%,P,D% D%=1	, 2	,- !896 :6 		
		a	A		a		1			!	q	A	1	dAq!"	aAt$%#,--,-6 5- 6-*-&-&-& O]#CD- E--. $.- /- :;0 <0, Z*\9,EF--- #=>	9 ?	9 #=>	& ?	& !IJ#=>- ? K-
- r2h/ 0	5- $.- /-  	(A2AFG	2<<(GHI--!
- $.
- /
- #;=T"UV- W- "
-#"
- 
9
9( $;<P =P" 		A			--*-*2$,>,8 D%=1 2L&- 8->"?@* A*0 (/ 
r()
sR__&'66, B$=$=@W@W$WX	- Y	- B$?$?@	- A	- B$>$>?- @-  r))B,G,GGG-; r))B,G,GG66 r))B,G,GG66  r))B,G,GG66 r))B,G,GG66 r))B,G,GG  r))B,G,GG(- r))B,G,GGT   4.12 222	,-4- B$?$?@- A-
4	?- -- #35F"GH& I& B$@$@A- B- B$@$@A B ""B"BC- D- "RS- T- B$=$=>& ?& #35F"GH- I- #35F"GH- I--* #35G"HI- J---2 (9299;'GH. I.--" !K  =
-
-"$$$. <-/, <=<4 &JK8 L8	(- #JK L #;< =r1   