+
    yȇiQ                        R t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	 ^ RI
t^ RIHt ^ RIHt ]P"                  R 4       t]P"                  R 4       t]P"                  R 4       tR	 tR
 tR tR tR tR tR tR tR t]P<                  P?                  R]P@                  ]PB                  ! R4      ]"! R4      R]PF                  .4      R 4       t$]P<                  P?                  RRR.4      R 4       t%R t&R t'R t(R t)R t*]P<                  P?                  RRR .4      R! 4       t+]P<                  P?                  RRR .4      ]P<                  P?                  R"]PX                  ]PZ                  .4      R# 4       4       t.R$ t/R% t0]P<                  Pc                  R&4      R' 4       t2]P<                  Pc                  R&4      R( 4       t3]P<                  Pc                  R&4      R) 4       t4R* t5R+ t6R, t7R- t8]P<                  P?                  R.]Pr                  ]Pt                  ]PB                  .4      R/ 4       t;R0 t<R1 t=R2 t>R3 t?R4 t@R5 tAR6 tBR7 tCR8 tDR9 tE]P<                  P?                  R"]PX                  ]PZ                  .4      R: 4       tFR# );z
This module tests the functionality of StringArray and ArrowStringArray.
Tests for the str accessors are in pandas/tests/strings/test_string_array.py
N)using_string_dtype)pa_version_under19p0)is_dtype_equal)ArrowStringArrayc                8    V w  r\         P                  ! WR7      # )zKFixture giving StringDtype from parametrized storage and na_value argumentsstoragena_valuepdStringDtype)string_dtype_argumentsr   r	   s   &  w/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/arrays/string_/test_string.pydtyper      s     /G>>'==    c                 8    V w  r\         P                  ! WR 7      # )r   r
   )string_dtype_arguments2r   r	   s   &  r   dtype2r      s    /G>>'==r   c                "    V P                  4       # )z3Fixture giving array type from parametrized 'dtype')construct_array_typer   s   &r   clsr   #   s     %%''r   c                     \         P                  ! R 4       \        P                  ! R4      p \        P                  ! R 4      p\        P                  ! R \        P
                  R7      pV \        P                  ! R\        P                  R7      8X  g   Q hW8w  g   Q hW8w  g   Q hV\        P                  ! R \        P                  R7      8X  g   Q hW8w  g   Q hW8w  g   Q hV\        P                  ! R \        P
                  R7      8X  g   Q hV\        P                  ! R \        R4      R7      8X  g   Q hW 8w  g   Q hW!8w  g   Q hR# )pyarrowpythonr	   nanN)pytestimportorskipr   r   npr   NAfloat)dtype1r   dtype3s      r   test_dtype_equalityr$   )   s    
	"^^H%F^^I&F^^I7FR^^Hruu====R^^I>>>>R^^I????R^^IeEEEEr   c                    \         P                  ! R \         P                  ! R\         P                  R.V R7      /4      pV P                  \
        P                  J d   RpMRp\        V4      V8X  g   Q hV P                  \
        P                  J d   RpMRp\        VP                  4      V8X  g   Q hV P                  R8X  d(   V P                  \         P                  J d
   R	pR
V R2pMxV P                  R8X  d(   V P                  \
        P                  J d
   R	pR
V R2pM@V P                  R8X  d(   V P                  \
        P                  J d
   RpR
V R2pMRpR
V R2p\        VP                  P                  4      V8X  g   Q hR# )Aabr   z     A
0    a
1  NaN
2    bz      A
0     a
1  <NA>
2     bz.0      a
1    NaN
2      b
Name: A, dtype: strz40       a
1    <NA>
2       b
Name: A, dtype: stringr   r   <z+>
['a', <NA>, 'b']
Length: 3, dtype: stringz'>
['a', nan, 'b']
Length: 3, dtype: strr   StringArrayN)
r   	DataFramearrayr    r	   r   r   reprr&   r   )r   dfexpectedarr_names   &   r   	test_reprr1   >   sC   	sBHHc255#%6eDE	FB~~378x~~FL:!!!}}	!enn&=%xj MN	)	#"&&(@%xj IJ	(	"u~~'? xj IJ xj MN

x'''r   c                 <   V P                   R 8X  dG   V P                  \        P                  J d   \	        V 4      R8X  g   Q hR# \	        V 4      R8X  g   Q hR# V P                  \        P                  J d   \	        V 4      R8X  g   Q hR# \	        V 4      R8X  g   Q hR# )r   z<StringDtype(na_value=<NA>)>z<StringDtype(na_value=nan)>z.<StringDtype(storage='python', na_value=<NA>)>z-<StringDtype(storage='python', na_value=nan)>N)r   r	   r   r    r-   r   s   &r   test_dtype_reprr3   [   sz    }}	!>>RUU";"@@@@;"????	255	 E{NNNNE{MMMMr   c                     V P                  . ROVR7      pV^,          f   Q hV^,          VP                  P                  J g   Q hR# )r'   Nr   )r'   Nr(   )_from_sequencer   r	   )r   r   r'   s   && r   test_none_to_nanr6   g   sD    +59AQ4Q4177#####r   c                 z   V P                  R R.VR7      pRp\        P                  ! \        VR7      ;_uu_ 4        ^
V^ &   RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        \        P
                  ! ^^.4      VR&   RRR4       R#   + '       g   i     L\; i  + '       g   i     R# ; i)r'   r(   r   z!Invalid value '10' for dtype 'strmatchNzInvalid value for dtype 'str:NNN)r5   r   raises	TypeErrorr   r,   )r   r   arrmsgs   &&  r   test_setitem_validatesr>   m   s    


c3Zu

5C
-C	y	,	,A 
- )C	y	,	,1a&!A 
-	,	 
-	, 
-	,	,s   B0B)B&	)B:	c                     \         P                  ! R R.V R7      pRV^ &   \         P                  ! RR.V R7      p\        P                  ! W4       R# )r'   cr   dN)r   r,   tmassert_extension_array_equal)r   r<   r/   s   &  r   test_setitem_with_scalar_stringrD   y   sC     ((C:U
+CCFxxc
%0H##C2r   c                 @   \         P                  ! . ROV R7      p\        P                  ! RR.4      pVP                  4       pW!^ ^.&   \         P                  ! R\         P                  R.V R7      p\
        P                  ! W4       \
        P                  ! W#4       R# )r'   r@   r   r&   Nr'   r(   r@   )r   r,   r   copyr    rB   rC   assert_numpy_array_equal)r   r<   value
value_origr/   s   &    r   $test_setitem_with_array_with_missingrK      ss     ((?%
0CHHc4[!EJAKxxbeeS)7H##C22r   c                    \         P                  ! \         P                  ! R ^RR7      4      pRV^ &   VP                  V 4      p\	        VP
                  V 4      '       g   Q hVP                  R4      p\        P                  ! W14       WP                  R,          ,
          pVP                  V 4      p\	        VP
                  V 4      '       g   Q hVP                  VP
                  4      p\        P                  ! Wd4       R# )2000ns)periodsunitNzdatetime64[ns])	r   Series
date_rangeastyper   r   rB   assert_series_equaliloc)r   sercastedresultser2casted2result2s   &      r   test_astype_roundtripr]      s    
))BMM&"4@
ACCFZZF&,,....]]+,F6' "Dkk% G'--////nnTZZ(G7)r   c                 r   V \         P                  P                  J d   R pR\         P                  ! 4       /pMRp/ p\        P
                  ! \        VR7      ;_uu_ 4        V ! \        P                  ! RR.RR7      3/ VB  RRR4       \        P
                  ! \        VR7      ;_uu_ 4        V ! \        P                  ! . 4      3/ VB  RRR4       V \         P                  P                  J dZ   V ! \        P                  ! R\        P                  .\        R7      3/ VB  V ! \        P                  ! RR.\        R7      3/ VB  M\        P
                  ! \        VR7      ;_uu_ 4        V ! \        P                  ! R\        P                  .\        R7      3/ VB  RRR4       \        P
                  ! \        VR7      ;_uu_ 4        V ! \        P                  ! RR.\        R7      3/ VB  RRR4       \        P
                  ! \        VR7      ;_uu_ 4        V ! \        P                  ! R\         P                  .\        R7      3/ VB  RRR4       \        P
                  ! \        VR7      ;_uu_ 4        V ! \        P                  ! R\        P                  ! R	R
4      .\        R7      3/ VB  RRR4       \        P
                  ! \        VR7      ;_uu_ 4        V ! \        P                  ! R\        P                  ! R	R
4      .\        R7      3/ VB  RRR4       R#   + '       g   i     EL; i  + '       g   i     EL~; i  + '       g   i     EL; i  + '       g   i     EL}; i  + '       g   i     EL1; i  + '       g   i     L; i  + '       g   i     R# ; i)z7StringArray requires a sequence of strings or pandas.NAr   zBUnsupported type '<class 'numpy.ndarray'>' for ArrowExtensionArrayr8   r'   r(   S1r   NNaTrN   )r   arraysr*   r   r   r:   
ValueErrorr   r,   r   objectr`   
datetime64timedelta64)r   r=   kwargss   &  r   test_constructor_raisesrg      sW   
bii###G2>>+,R	z	-	-BHHc3Zt,77 
. 
z	-	-BHHRL#F# 
. bii### 	BHHc266]&1<V<BHHc4[/:6:]]:S11#rvvf5@@ 2]]:S11#tF3>v> 2 
z	-	-BHHc266]&1<V< 
. 
z	-	-BHHc2==56fEPP 
. 
z	-	-BHHc2>>%67vFQ&Q 
.	-/ 
.	-	- 
.	-	- 211111 
.	-	- 
.	- 
.	-	-sT   !"L./M04M&M*"4M>;N);N%.L?	M	M'	*M;	>N	N"	%N6	nar   c                 z   \         P                  P                  \        P                  ! R \         P
                  .4      \         P                  ! 4       R7      p\         P                  P                  \        P                  ! R V .RR7      \         P                  ! 4       R7      p\        P                  ! W!4       R# )r'   r   rc   N)	r   ra   r*   r   r,   r    r   rB   rC   )rh   r/   rY   s   &  r   test_constructor_nan_likerj      sw    yy$$RXXsBEEl%;2>>CS$THYY""
#r(+2>>3C # F ##F5r   rG   TFc                 &   \         P                  ! R \         P                  .\        R7      pVP	                  4       p\         P                  ! R \
        P                  .\        R7      pVP                  W2V R7      pV\        J d/   ^ RI	pV! VP                  WWP                  4       RR7      VR7      pM1VP                  \         P                  J d   V! W2R7      pM	V! WRR7      p\        P                  ! Wh4       \        P                  ! W44       R# )r'   r   )r   rG   NTtypefrom_pandas)r   r,   r   rc   rG   r   r    r5   r   r   stringr	   rB   rC   rH   )	rG   r   r   nan_arrexpected_inputna_arrrY   par/   s	   &&&      r   test_from_sequence_no_mutatert      s    hhRVV}F3G\\^NXXsBEEl&1F4@F
HHV))+4H@
 
266	!w,v+##F58r   c                    \         P                  ! . ROV R7      pVP                  R4      p\        P                  ! . R	ORR7      p\        P
                  ! W#4       \         P                  ! R \         P                  R.V R7      pV P                  \        P                  J d
   \        pRpM\        pRp\        P                  ! WER7      ;_uu_ 4        VP                  R4       RRR4       R#   + '       g   i     R# ; i)
13r   int64z#cannot convert float NaN to integerzJint\(\) argument must be a string, a bytes-like object or a( real)? numberr8   N)rv   2rw            )r   r,   rT   r   rB   rH   r    r	   r   rb   r;   r   r:   )r   r<   rY   r/   errr=   s   &     r   test_astype_intr      s    
((?%
0CZZ Fxx	1H1
((C$E
2C~~3* 	 
s	&	&

7 
'	&	&	&s   C//D 	c                     \         P                  ! R \         P                  R.V R7      pVP                  R4      p\         P                  ! ^\         P                  ^.RR7      p\        P
                  ! W#4       R# )rv   rw   r   Int64N)r   r,   r    rT   rB   rC   r   r<   rY   r/   s   &   r   test_astype_nullable_intr      sS    
((C$E
2CZZ FxxBEE1W5H##F5r   c                 p   \         P                  ! R \         P                  R.V R7      pVP                  V4      p\	        VP
                  \        P
                  4      '       d   \        P                  M\         P                  p\         P                  ! RVR.VR7      p\        P                  ! W54       R# )z1.1z3.3r   g?gffffff
@N)
r   rR   r    rT   
isinstancer   r   r   rB   rU   )r   any_float_dtyperW   rY   itemr/   s   &&    r   test_astype_floatr     ss    
))UBEE5)
7CZZ(Fbhh77266RUUDyy#tS)AH6,r   c                 p    \         P                  ! . ROVR7      pVP                  V R7      pVR8X  g   Q hR# )r'   r   skipnaabcNrF   )r   rR   sumr   r   r<   rY   s   &&  r   test_reducer   
  s.    
))O5
1CWWFW#FU??r   c                     \         P                  ! . ROVR7      pVP                  V R7      pV '       d   VR8X  g   Q hR # \         P                  ! V4      '       g   Q hR # )Nr   r   r   )Nr'   Nr(   r@   N)r   rR   r   isnar   s   &&  r   test_reduce_missingr     sD    
))5U
CCWWFW#Fwwvr   methodminmaxc                     \         P                  ! . ROVR7      p\        W04      ! VR7      pV'       d   V R8X  d   R MRpWE8X  g   Q hR# WCP                  P                  J g   Q hR# )r'   r@   Nr   r   r   r'   r(   r@   N)r   rR   getattrr   r	   )r   r   r   r<   rY   r/   s   &&&   r   test_min_maxr     sT    
)))
7CS!0F E/3s!!!+++++r   boxc                 X   VP                   R 8X  dd   V\        P                  J dP   V\        P                  J d   RpMRp\        P                  P                  \        VR7      pVP                  V4       V! . R	OVR7      p\        \        V 4      ! V4      pV R8X  d   RMRpWx8X  g   Q hR# )
r   z<'<=' not supported between instances of 'str' and 'NoneType'z0'ArrowStringArray' object has no attribute 'max')r:   reasonr'   r@   Nr   r   r   )
r   r   r,   r   markxfailr;   applymarkerr   r   )	r   r   r   requestr   r   r<   rY   r/   s	   &&&&     r   test_min_max_numpyr   $  s     }}	!cRXXo"((?SFGF{{  	& AD!
#5
1CR %Fos3Hr   c                 0   \         P                  ! R \         P                  .V R7      pVP                  RR7      p\         P                  ! R R.V R7      p\        P
                  ! W#4       VP                  \        P                  ! R4      R7      p\         P                  ! R R.V R7      p\        P
                  ! W#4       Rp\        P                  ! \        VR7      ;_uu_ 4        VP                  ^R7       RRR4       R#   + '       g   i     R# ; i)r'   r   r(   )rI    Invalid value '1' for dtype 'strr8   N)r   r,   r    fillnarB   rC   r   str_r   r:   r;   )r   r<   resr/   r=   s   &    r   test_fillna_argsr   5  s     ((C<u
-C
**3*
Cxxc
%0H##C2
**2773<*
(Cxxc
%0H##C2
,C	y	,	,


 
-	,	,	,s   'DD	c                 |   \         P                  ! R 4      p^ RIHp \        P
                  ! . ROV R7      pVP                  V4      pVP                  \        V4      VP                  4       RR7      pV P                  R8X  d    VP                  WQP                  4       4      pVP                  V4      '       g   Q hR# )r   Nr   Trl   r   rF   )r   r   pyarrow.computecomputer   r,   listlarge_stringr   castro   equals)r   rs   pcdatar<   r/   s   &     r   test_arrow_arrayr   G  s    			Y	'B 88O51D
((4.CxxT
):xMH}} 778YY[1::hr   z0ignore:Passing a BlockManager:DeprecationWarningc                 r   \         P                  ! R 4      p\        P                  ! . R
OV R7      p\        P                  ! RV/4      pVP                  V4      pV P                  R8X  d$   VP                  R4      P                  R8X  g   Q hM"VP                  R4      P                  R8X  g   Q h\        P                  ! RV4      ;_uu_ 4        VP                  4       pRRR4       V P                  \        P                  J d%   V'       g   XR,          P                  R8X  g   Q hR# \        XR,          P                  \        P                   4      '       g   Q hVP#                  \        P                   ! WP                  R	7      4      pV'       dE   VP$                  P#                  \        P                   ! V\        P                  R	7      4      Vn        \&        P(                  ! Wx4       VP*                  R,          VR,          P                  P                  J g   Q hR#   + '       g   i     ELN; i)r   r'   Nr   r   ro   r   string_storagerc   r   r'   r(   N)r|   r'   )r   r   r   r,   r+   tabler   fieldrm   option_context	to_pandasr	   r   r   r   r   r   rT   columnsrB   assert_frame_equalloc	r   r   using_infer_stringrs   r   r.   r   rY   r/   s	   &&&      r   test_arrow_roundtripr   T  s    
		Y	'B88$E2D	sDk	"BHHRLE}} {{3$$000{{3$$666			+^	<	<" 
=~~(:c{  H,,,&+++R^^<<<<99R^^N^^TU'//66~? H 	f/zz&!VC[%6%6%?%???? 
=	<	<s   H%%H6	c                    \         P                  ! R 4      pVP                  RVP                  . ROVP	                  4       R7      /4      pVP                  4       pV '       d*   \        '       g   \        P                  ! R. RO/RR7      pM\        P                  ! R. RO/RR7      p\        P                  ! W44       R# )r   r'   Nrm   strr   rc   r   )r   r   r   r,   ro   r   r   r   r+   rB   r   )r   rs   r   rY   r/   s   &    r   test_arrow_from_stringr   p  s     
		Y	'BHHc288$4299;8GHIE__F"6"6<<&6 7uE<<&6 7xH&+r   c                    \         P                  ! R 4      p\        P                  ! . V R7      p\        P                  ! RV/4      pVP                  V4      pV P                  R8X  d$   VP                  R4      P                  R8X  g   Q hM"VP                  R4      P                  R8X  g   Q hVP                  VP                  . VP                  4       R7      .VP                  R7      p\        P                  ! RV4      ;_uu_ 4        VP                  4       pR	R	R	4       V P                  \        P                   J d-   \#        4       '       g   XR,          P$                  R
8X  g   Q hR	# \'        XR,          P$                  \        P(                  4      '       g   Q hVP+                  \        P(                  ! WP                  R7      4      pV'       dE   VP,                  P+                  \        P(                  ! V\        P                   R7      4      Vn        \.        P0                  ! Wx4       R	#   + '       g   i     EL"; i)r   r   r'   r   ro   r   r   )schemar   Nrc   r   )r   r   r   r,   r+   r   r   r   rm   chunked_arrayro   r   r   r   r	   r   r   r   r   r   r   rT   r   rB   r   r   s	   &&&      r    test_arrow_load_from_zero_chunksr     s    
		Y	'B88Be$D	sDk	"BHHRLE}} {{3$$000{{3$$666HHb&&r		&<=ellHSE			+^	<	<" 
= ~~(:(<(<c{  H,,,&+++R^^<<<<99R^^N^^TU'//66~? H 	f/ 
=	<	<s   
H44I	c                    V P                   \        P                  J d   R pMV P                  R8X  d   RpMRp\        P
                  ! RRR\        P                  .V R7      pVP                  RR7      p\        P                  ! . ROV. RO,          VR	R
7      p\        P                  ! W44       VP                  RR7      p\        P                  ! ^^.VR,          VR	R
7      p\        P                  ! W44       R# )rx   r   int64[pyarrow]r   r'   r(   r   F)dropnacountindexr   nameTNr|   NN)r|   r{   r{   )    r{   r}   )r	   r   r   r   r   r,   r    value_countsrR   rB   rU   )r   	exp_dtyper<   rY   r/   s   &    r   test_value_counts_nar     s    ~~		)	#$		
((Cc255)
7CU+Fyy#i.	PWXH6,T*Fyy!Qs2wigNH6,r   c                    V P                   \        P                  J d   \        P                  pMV P                  R 8X  d   RpMRp\
        P                  ! RRR\
        P                  .V R7      pVP                  RR7      p\
        P                  ! ^^.VR,          VR	R
7      ^,          p\        P                  ! W44       R# )r   zdouble[pyarrow]Float64r'   r(   r   T)	normalizer   
proportionr   N)r	   r   r   float64r   r   rR   r    r   rB   rU   r   r   rW   rY   r/   s   &    r    test_value_counts_with_normalizer     s    ~~JJ		)	#%		
))S#sBEE*%
8C-Fyy!Qs2wilSVWWH6,r   c                 >   V P                   \        P                  J d   R pMV P                  R8X  d   RpMRp\        P
                  ! . ROV R7      pVP                  RR7      p\        P
                  ! . ROVR,          VRR	7      p\        P                  ! W44       R
# )rx   r   r   r   r   F)sort:Nr}   Nr   r   N)r'   r(   r@   r(   )r{   r|   r{   )	r	   r   r   r   r   rR   r   rB   rU   r   s   &    r   test_value_counts_sort_falser     sw    ~~		)	#$		
))(
6C5)Fyy#b'QH6,r   c                 *   V P                   R 8X  d$   \        P                  ! RV P                    24       \        P                  ! . ROV R7      p^ VP
                  u;8  d/   VP                  4       u;8:  d   VP                  RR7      8  g   Q h Q hR# )r   znot applicable for r   T)deepNrF   )r   r   skipr   rR   nbytesmemory_usage)r   seriess   & r   test_memory_usager     sr     }}	!)%--9:YYe4Fv}}V 3 3 5V8K8KQU8K8VVVVVVr   float_dtypec                     \         P                  ! R .V R7      pVP                  V4      p\         P                  ! R.VR7      p\        P                  ! W44       R# )g?r   z0.1N)r   rR   rT   rB   rU   )r   r   rW   rY   r/   s   &&   r   test_astype_from_float_dtyper     sD     ))SE
-CZZFyy%.H6,r   c                    \         P                  ! R \         P                  R.V R7      p\        P                  ! V4      p\        P                  ! R V P                  R.\
        R7      p\        P                  ! W#4       R# )r'   r(   r   N)r   r,   r    r   r	   rc   rB   rH   r   s   &   r   "test_to_numpy_returns_pdna_defaultr     sS    
((C$E
2CXXc]Fxxennc2&AH1r   c                     Tp\         P                  ! R \         P                  R.V R7      pVP                  VR7      p\        P                  ! R VR.\
        R7      p\        P                  ! WE4       R# )r'   r(   r   r   N)r   r,   r    to_numpyr   rc   rB   rH   )r   nulls_fixturer	   r<   rY   r/   s   &&    r   test_to_numpy_na_valuer     sW    H
((C$E
2C\\8\,Fxxh,F;H1r   c                 $   \         P                  ! R \         P                  R.V R7      pRVn        VP	                  4       pV P
                  R8X  d!   VP                  P                  '       d   Q hR# VP                  P                  '       g   Q hR# )r'   r(   r   Tr   N)r   r,   r    	_readonlyr   r   flags	writeable)r   r<   rY   s   &  r   test_to_numpy_readonlyr     sj    
((C$E
2CCM\\^F}} <<))))))||%%%%%r   c                    \         P                  ! . ROV R7      pVP                  R R.4      p\         P                  ! . RO4      p\        P                  ! W44       VP                  R \         P
                  .4      p\         P                  ! . RO4      p\        P                  ! W44       VP                  . 4      p\         P                  ! . RO4      p\        P                  ! W44       VP                  R V.4      p\         P                  ! . RO4      p\        P                  ! W44       VP                  V.4      p\         P                  ! . RO4      p\        P                  ! W44       R# )r'   Nr   r@   r   TFFTFT)FFF)r   rR   isinrB   rU   r    )r   fixed_now_tssrY   r/   s   &&   r   	test_isinr     s    
		"%0AVVS#JFyy-.H6,VVS"%%L!Fyy,-H6,VVBZFyy./H6,VVS,'(Fyy-.H6,VV\N#Fyy./H6,r   c                    \         P                  ! . ROV R7      pVP                  \         P                  ! R R.VR7      4      p\         P                  ! . RO4      p\        P
                  ! W44       VP                  \         P                  ! R R.VR7      4      p\         P                  ! . RO4      p\        P
                  ! W44       R# )r'   Nr   r@   r   r   r   )r   rR   r   r,   rB   rU   )r   r   r   rY   r/   s   &&   r   test_isin_string_arrayr     s    
		"%0AVVBHHc3Zv67Fyy-.H6,VVBHHc4[78Fyy,-H6,r   c           	      J   \         P                  ! R 4      p\        P                  ! . ROV R7      pVP	                  \        P
                  ! RR.\        P                  ! VP                  4       4      R7      4      p\        P                  ! . RO4      p\        P                  ! W44       VP	                  \        P
                  ! RR.\        P                  ! VP                  4       4      R7      4      p\        P                  ! . RO4      p\        P                  ! W44       R# )r   r'   Nr   r@   r   r   r   )
r   r   r   rR   r   r,   
ArrowDtypero   rB   rU   )r   rs   r   rY   r/   s   &    r   test_isin_arrow_string_arrayr     s    			Y	'B
		"%0AVVBHHc3Zr}}RYY[/IJKFyy-.H6,VVBHHc4[biik0JKLFyy,-H6,r   c                    \         P                  ! . ROV R7      p\        P                  ! . RO4      pRW&   VP                  ^,          VP                  P
                  J g   Q h\         P                  ! . ROV R7      pRp\        P                  ! \        VR7      ;_uu_ 4        ^W&   RRR4       R#   + '       g   i     R# ; i)r'   r   Nr   r8   rF   )FTF)	r   rR   r   r,   r   r	   r   r:   r;   )r   rW   maskr=   s   &   r   (test_setitem_scalar_with_mask_validationr   %  s     ))O5
1C88()DCI99Q<399----- ))O5
1C
,C	y	,	,	 
-	,	,	,s   $B33C	c                     . ROp\         P                  ! V\         P                  R7      p\        P                  ! W R7      p\        P                  ! WR7      p\        P
                  ! W44       R# r'   r   NrF   )r   r,   r   r   rB   rC   r   valsr<   rY   r/   s   &    r   test_from_numpy_strr  6  sE    D
((4rww
'CXXc'Fxx*H##F5r   c                     . ROp\         P                  ! WR7      pVP                  4       pTp\        P                  ! W44       R# r  )r   r,   tolistrB   assert_equalr  s   &    r   test_tolistr	  >  s1    D
((4
%CZZ\FHOOF%r   c                      \         P                  ! . RORR7      p \        P                  ! \        RR7      ;_uu_ 4        V P                  R4       RRR4       R#   + '       g   i     R# ; i)r'   ro   r   z)Cannot change data-type for string array.r8   i8NrF   )r   r,   r   r:   r;   view)r<   s    r   !test_string_array_view_type_errorr  F  s?    
((?(
3C	y(S	T	T 
U	T	T	Ts   AA,	c                 R   V! . ROV R7      p\         P                  ! R ^^4      pV! V4      pV\        P                  J d   \        P                  M\         P                  pV! . RO\
        R7      p\        P                  ! WF4       \         P                  ! R ^^4      pV! V4      pV! . ROV R7      pV P                  R8X  dL   V\        P                  J d    \         P                  ! . RO\
        R7      pM\        P                  ! . RO4      p\        P                  ! WF4       R# )	r'   r   c                     \        V 4      # )N)lenxs   &r   <lambda>(test_numpy_array_ufunc.<locals>.<lambda>Q  s    CFr   c                     V ^,          # )r|    r  s   &r   r  r  Y  s    Qr   r   N)r'   bbcccrz   )aabbbbcccccc)	r   
frompyfuncr   rR   r,   rc   rB   r  r   )r   r   r<   str_len_ufuncrY   expected_clsr/   str_multiply_ufuncs   &&      r   test_numpy_array_ufuncr   L  s    
 
.C MM"2Aq9M3F #ryy 0299bhhLIV4HOOF% 1=$F+59H}}	!"((?xx 8GH yy!9:HOOF%r   )G__doc__numpyr   r   pandas._configr   pandas.compat.pyarrowr   pandas.core.dtypes.commonr   pandasr   pandas._testing_testingrB   pandas.core.arrays.string_arrowr   fixturer   r   r   r$   r1   r3   r6   r>   rD   rK   r]   rg   r   parametrizer   r   r!   r    rj   rt   r   r   r   r   r   r   rR   r,   r   r   r   filterwarningsr   r   r   r   r   r   r   float16float32r   r   r   r   r   r   r   r   r  r	  r  r   r  r   r   <module>r/     s  
   - 6 4  
 > > > >
 ( (
*(:	N$	"3
3*& RF 

5(95<ruuUV6 W6 $/9 09,(6- E5>2, 3, E5>2BHH 56 7 3$
  NO@ P@6 NO, P, NO0 P08-"
-
-W RZZ(LM- N-22&-0	-
-"6& BHH 56& 7&r   