
    A>i                        S SK J r Jr  S SKrS SKrS SKJr  S SKJrJ	r	J
r
JrJrJrJr  S SKJr  S SKJr  S SKJr  S SKJr  \R0                  R3                  SS S	\" S
S/5      /5      S 5       rS rS rS r\R0                  R3                  SS/ SQ4S/ SQ4S/ SQ4S/ SQ4S/ SQ4/5      S 5       rS rS r S r!\R0                  R3                  SSS/SS//5      S  5       r"S! r#\R0                  R3                  S"S#/ S$Q4S%/ S&Q4S'/ S(Q4S)/ S*Q4S+/ S*Q4S,/ S-Q4S./ S/Q4S0/ S1Q4S2/ S3Q4/	5      S4 5       r$\R0                  R3                  S"S+/ S5Q4S6/ S7Q4S)/ S8Q4/5      S9 5       r%\R0                  R3                  S"S+S:\RL                  S	S:\RL                  S	S:/4S6S:\RL                  S:S:\RL                  S	S:/4/5      S; 5       r'S< r(S= r)S> r*S? r+\R0                  R3                  S@SASBSS/ SCQ4SDSBSS/ SEQ4SASBSFS/ SGQ4SDSBSFS/ SEQ4SASHSSI/ SEQ4SDSHS SJ/ SKQ4/5      SL 5       r,SM r-\R0                  R3                  SNSASD/5      SO 5       r.\R0                  R3                  SPSA/ SQQ/SD/ SRQ//5      SS 5       r/ST r0\R0                  R3                  SUSVSJSS
S\RL                  SW/4S SFSXSYSY\RL                  SY/4SSSXSZS[\RL                  S\/4SSVSXS]S^\RL                  S_/4SFS`SVSaSb\RL                  Sc/4SFS SXSdSe\RL                  Se/4/5      Sf 5       r1\R0                  R3                  SUSVSJSS
\RL                  S\RL                  \RL                  S\RL                  \RL                  /4SSgSXSh\RL                  Si\RL                  \RL                  S\RL                  \RL                  /4/5      Sj 5       r2\R0                  R3                  SkSVSFSSlSmSnSY\RL                  /4SVSFSoSpSqSrSo\RL                  /4SVSVSoSsStSuSo\RL                  /4SVSgSoSsStSuSo\RL                  /4SXSSoSvSwSxSo\RL                  /4SSySoSzS{S|So\RL                  /4S}SISoS~SSSo\RL                  /4SSFSoSzSqSSo\RL                  /4/5      S 5       r3\R0                  R3                  SPSSS\RL                  S//SSS\RL                  S//SSS\RL                  S///5      S 5       r4\R0                  R3                  SPSS\RL                  S//SS\RL                  S//SS\RL                  S///5      S 5       r5\R0                  R3                  SPS/ SQ/S/ SQ/S/ SQ//5      S 5       r6\R0                  R3                  SS/ SQ4S/ SQ4SY/ SQ4/5      S 5       r7\R0                  R3                  SS/ SQ4S/ SQ4SY/ SQ4/5      S 5       r8S r9S r:S r;S r<S r=S r>S r?S r@S rA\R0                  R3                  SSSSS\RL                  S/4SSSS\RL                  S/4/5      S 5       rBS rCS rD\R0                  R3                  SSS/S4/ SQS4/ SQS4/ SQS4S\ " SSgSg5      /S4/5      S 5       rE\R0                  R3                  SSg\RL                  /S4\ " SSgSg5      /S4\" Sg5      /S4/5      S 5       rFS rGS rHS rIS rJS rKS rLS rMS rNS rOS rPS rQ\R0                  R3                  S/ SQ5      S 5       rRg)    )datetime	timedeltaN)pa_version_under21p0)NA	DataFrameIndex
MultiIndexSeriesStringDtypeoption_context)ArrowStringArrayMixin)StringMethods)is_object_or_nan_string_dtypepatternTfoobarc                    [        SS/5      nS[        U 5      R                   3n[        R                  " [
        US9   UR                  R                  U 5        S S S 5        [        R                  " [
        US9   UR                  R                  U 5        S S S 5        g ! , (       d  f       NL= f! , (       d  f       g = f)Nr   r   z expected a string or tuple, not match)	r
   type__name__pytestraises	TypeErrorstr
startswithendswith)r   sermsgs      `/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/strings/test_strings.py)test_startswith_endswith_non_str_patternsr!      s     %
 C,T']-C-C,D
EC	y	,7# 
-	y	,! 
-	, 
-	,	,	,s   B!<B2!
B/2
C c                      [        SS/5      n [        R                  " [        SS9   [	        U R
                  5        S S S 5        g ! , (       d  f       g = f)Nr   r   z&'StringMethods' object is not iterabler   )r
   r   r   r   iterr   )r   s    r    test_iter_raisesr$   %   s7    
%
 C	y(P	QSWW 
R	Q	Qs   A
Ac                 ,   [        SS[        R                  S/U S9nUR                  R	                  S5      n[        U 5      (       a!  [        R                  n[        R                  nOSn[        n[        SSUS	/US9n[        R                  " X%5        g )
Nr   foofoofoooofooofommmfoodtypezf[o]+Int64         )
r
   npnanr   countr   float64r   tmassert_series_equalany_string_dtyper   resultexpected_dtypeitemexpecteds         r    
test_countr:   /   sy    
%266+>?GW
XCWW]]7#F$%566vv q!T1o^<H6,    c                     [        S[        R                  SS[        R                  " 5       SS SS/	[
        S9n U R                  R                  S5      n[        S[        R                  S[        R                  [        R                  S[        R                  [        R                  [        R                  /	5      n[        R                  " X5        g )	NabTr   r+          @r(   r   )
r
   r.   r/   r   todayobjectr   r0   r2   r3   r   r6   r9   s      r    test_count_mixed_objectrC   =   s    
	bffc4!15$3GC WW]]3Fq"&&!RVVRVVQOPH6,r;   zpat, expected_dataza(?=b))r   r+   r   r   Nz(?<=a)bza(?!b))r,   r   r+   r   Nz(?<!b)a)r,   r+   r   r   Nabc                     [        U 5      (       a  SOSn[        / SQU S9nUR                  R                  U5      n[        X#S9n[        R
                  " XV5        g )Nr1   r*   )aarD   babbNr(   )r   r
   r   r0   r2   r3   )r5   patexpected_datar7   r   r6   r9   s          r    test_count_lookaroundsrK   G   sS     33CDD	'  /7G
HCWW]]3Fm:H6,r;   c                    [        U 5      (       a  SOSn[        / SQU S9nUR                  R                  S5      nU S:X  a  U R                  S:X  a  [        / SQUS9nO[        / S	QUS9n[
        R                  " X45        UR                  R                  S
5      n[        / SQUS9n[
        R                  " X45        [        / SQU S9nUR                  R                  S5      n[        / SQUS9n[
        R                  " X45        g )Nint64r*   )bazr   barsbar
r(   zbar$stringpyarrow)r   r+   r   r   )r   r+   r   r+   bar\Z)rS   r   rO   rP   zbar\\Z)r+   r   r   r   )r   r
   r   r0   storager2   r3   )r5   r7   r   r6   r9   s        r    test_count_end_of_stringrU   \   s     11ABB  08H
IC WW]]6"F8#(8(@(@I(M,n= ,n=6, WW]]8$Fl.9H6, 3;K
LCWW]]9%Fl.9H6,r;   c                    [        SS[        R                  S[        R                  S/U S9nUR                  R	                  S5      n[        SS[        R                  S	[        R                  S
/U S9n[
        R                  " X#5        UR                  R	                  / SQ5      n[        SS[        R                  S[        R                  S/U S9n[
        R                  " X#5        g )Nr=   r>   cdr(      aaabbbcccddd)r+   r,   rY   r-         rH   ccccdddddd)r
   r.   r/   r   repeatr2   r3   r5   r   r6   r9   s       r    test_repeatrd   z   s    
#sBFFC5=M
NCWW^^AF	rvvubffe4<LH 6,WW^^./F	dBFFFBFFH5=MH 6,r;   c                     [        S[        R                  SS[        R                  " 5       SS SS/	5      n U R
                  R                  S5      n[        S[        R                  S	[        R                  [        R                  S
S [        R                  [        R                  /	[        S9n[        R                  " X5        g )Nr=   r>   Tr   r+   r?   rY   rZ   r[   	foofoofoor(   )
r
   r.   r/   r   r@   r   rb   rA   r2   r3   rB   s      r    test_repeat_mixed_objectrg      s    
#rvvsD(..*:E4CP
QCWW^^AF	rvvrvv{D"&&"&&QH 6,r;   zarg, repeatr-   r>   c                     [        SU/U S9nUR                  R                  SU/5      n[        SS /U S9n[        R                  " XE5        g )Nr=   r(   rY   rZ   )r
   r   rb   r2   r3   )r5   argrb   r   r6   r9   s         r    test_repeat_with_nullrj      sJ     #s#3
4CWW^^QK(Fudm+;<H6,r;   c                    [        U S9=p[        SS9n[        U 5      (       a  [        SS9n[        [        S9nO[        SS9n[        SS9n[        [        S9n[        [        S9n[	        5       n[
        R                  " XR                  R                  U5      5        SUR                  R                  5       :X  d   e[
        R                  " XR                  R                  5       5        [
        R                  " XBR                  R                  S5      5        [
        R                  " XRR                  R                  S5      5        [
        R                  " XRR                  R                  S5      5        [
        R                  " XRR                  R                  S5      5        [
        R                  " XR                  R                  5       5        [
        R                  " XR                  R                  5       5        [
        R                  " XR                  R!                  SS5      5        [
        R                  " XR                  R#                  S	5      5        [
        R                  " XRR                  R%                  S
5      5        [
        R&                  " [	        [)        S5      U S9UR                  R+                  SSS95        [
        R&                  " [	        [)        S5      U S9UR                  R+                  SSS95        [
        R                  " XR                  R+                  SSS95        [
        R&                  " [	        [)        S5      U S9UR                  R+                  SSS95        [
        R&                  " UR-                  / SS9UR                  R/                  5       5        [
        R                  " XR                  R1                  S5      5        [
        R                  " XBR                  R3                  5       5        [
        R                  " XaR                  R5                  S5      5        [
        R                  " XBR                  R7                  S5      5        [
        R                  " XBR                  R9                  S5      5        [
        R                  " XR                  R;                  S5      5        [
        R                  " XR                  R=                  S5      5        [
        R                  " XbR                  R?                  S5      5        [
        R                  " XbR                  RA                  S5      5        [
        R                  " XbR                  RC                  SSS95        [
        R&                  " XR                  RC                  S5      5        [
        R                  " XbR                  RE                  SSS95        [
        R&                  " XR                  RE                  S5      5        [
        R                  " XR                  RG                  SS95        [
        R                  " XR                  RG                  SS95        [
        R                  " XR                  RI                  5       5        [
        R                  " XR                  RK                  5       5        [
        R                  " XR                  RM                  5       5        [
        R                  " XR                  RO                  S5      5        [
        R                  " XR                  RQ                  S5      5        [
        R                  " X7R                  RS                  S5      5        [
        R                  " XrR                  RU                  S5      5        [
        R                  " XRR                  RW                  5       5        [
        R                  " XRR                  RY                  5       5        [
        R                  " XRR                  R[                  5       5        [
        R                  " XRR                  R]                  5       5        [
        R                  " XRR                  R_                  5       5        [
        R                  " XRR                  Ra                  5       5        [
        R                  " XRR                  Rc                  5       5        [
        R                  " XRR                  Re                  5       5        [
        R                  " XRR                  Rg                  5       5        [
        R                  " XRR                  Ri                  5       5        [
        R                  " XR                  Rk                  5       5        [
        R                  " XR                  Rm                  5       5        [
        R                  " XR                  Ro                  S5      5        [        Rq                  SS5      n	[
        R                  " XR                  Rs                  U	5      5        g )Nr(   r   rM   r*   boolean r=   r>   rY   z^ar+   )columnsr)   z()T)expandr,   z()()Faxis*   stop)stepr   asciiNFC):r
   r   boolrA   r   r2   r3   r   cattitler0   containsr   r   lowerupperreplacerb   r   assert_frame_equalrangeextractset_axisget_dummiesjoinlenfindallfindrfindpadcentersplitrsplit	partition
rpartitionslicestriplstriprstripwrapgetdecodeencodeisalnumisalphaisasciiisdigitisspaceislowerisupperistitle	isnumeric	isdecimal
capitalizeswapcase	normalize	maketrans	translate)
r5   	empty_stremptyempty_inferred_str	empty_int
empty_boolempty_objectempty_bytesempty_dftables
             r    test_empty_str_methodsr      s   %566Ie,$%566)	$'
)	),
'Lv&K{H
 9iimmE&:;   9iioo&789iiooc&:;:yy'9'9#'>?:yy';';C'@A:yy'9'9#'>?9iioo&789iioo&789ii&7&7S&AB9ii&6&6q&9::yyt'<=%(*:;		$t, %(*:;		&. 9ii&7&7U&7&KL%(*:;		&/ (++BQ+79N9N9PQ9mm&8&8&<=9iimmo6<)>)>s)CD9iinnS&9:9iiooc&:;9iimmB&789ii&6&6r&:;<)=><)9)9#)>?<)<)<S)<)OP(II$7$7$<=<)=)=c%)=)PQ(II$8$8$=>9iioo1o&=>9iioo1o&=>9iioo&789ii&6&6&899ii&6&6&899iinnR&899iimmA&67-/E/Eg/NO;		(8(8(AB:yy'8'8':;:yy'8'8':;:yy'8'8':;:yy'8'8':;:yy'8'8':;:yy'8'8':;:yy'8'8':;:yy'8'8':;:yy':':'<=:yy':':'<=9ii&:&:&<=9ii&8&8&:;9ii&9&9%&@AMM#s#E9ii&9&9%&@Ar;   zmethod, expectedr   )
TTTTTTTTTTr   )
TTTTTFTTFFr   )
TTTFFFTFFFr   )
FFFTFFFTFFr   r   )
FFFFFFFFFTr   )
FTFFFFFFFFr   )
TFFFTFTFFFr   )
TFTFTFFFFFc                    [        / SQUS9n[        U5      (       a  SOSn[        XS9n[        UR                  U 5      " 5       n[        R
                  " XQ5        U Vs/ s H  n[        X`5      " 5       PM     nn[        U5      U:X  d   e[        R                  UR                  / SQ'   [        UR                  U 5      " 5       nUR                  S:X  a5  UR                  [        5      n[        R                  UR                  / SQ'   g UR                  S:X  a  SUR                  / SQ'   g [        R                  UR                  / SQ'   g s  snf )	N)
Ar>   Xy43Arm   TT55-z  r(   rx   rl   )r+   r,   rY   r-   rA   r   F)r
   r   getattrr   r2   r3   listr.   r/   ilocr)   astyperA   )methodr9   r5   r   r7   r6   r8   expected_stdlibs           r    test_ismethodsr      s   B >FVC 00@AAy  h5HSWWf%'F6, <??34wt,.3O?<?***  VVCHH\SWWf%'F
yyH??6*&(ffl#	e	&+l# ')ffl# @s   E)FTTTFTTFr   )FTFFFFTF)FTTFFFTFc                 N   [        / SQUS9n[        U5      (       a  SOSn[        XS9nU S:X  ab  [        UR                  [        5      (       aC  UR                  R
                  S:X  a)  [        (       d  SUR                  S'   SUR                  S	'   [        UR                  U 5      " 5       n[        R                  " XQ5        US
:X  d%  [        U[        5      (       aC  UR
                  S:X  a2  U Vs/ s H  n[        X`5      " 5       PM     nn[        U5      U:X  d   eg g g s  snf )N)r   3   ³   ¼   ★u   ፸   ３fourr(   rx   rl   r   rR   TrY   r^   rA   python)r
   r   
isinstancer)   r   rT   r   r   r   r   r2   r3   r   )r   r9   r5   r   r7   r6   r8   s          r    test_isnumeric_unicoder   -  s
    ;C
 00@AAy  h5H)syy+..II*$$  aaSWWf%'F6, 8##[11$$08;<GD)+<F|x''' 1 	2 =s   2D"Fc                 j   S[         R                  SS[         R                  SS/n[        X2S9nUS:X  a1  [        U[        S9R	                  S5      R                  [        5      nO[        U5      (       a  S	OS
n[        XS9n[        UR                  U 5      " 5       n[        R                  " Xa5        g )Nr   r   r   r   r   r(   r   FrA   rl   )r.   r/   r
   rA   fillnar   rx   r   r   r   r2   r3   )r   r9   r5   valuesr   r7   r6   s          r    test_isnumeric_unicode_missingr   Z  s     2664v>F

0C5 (&188?FFtL 66FGGHY 	 (9SWWf%'F6,r;   c                     [        SS[        R                  S/U S9nUR                  R	                  S5      R                  R                  S5      nUR                  [        5      n[        R                  " X#5        g )Na_b_cc_d_ef_g_hr(   _)
r
   r.   r/   r   r   r   r   rA   r2   r3   rc   s       r    test_split_join_roundtripr   p  s[    
'7BFFG4<L
MCWW]]3##((-Fzz&!H6,r;   c                     [        S[        R                  SS[        R                  " 5       SS SS/	5      n U R
                  R                  S5      R
                  R                  S5      n[        S[        R                  S[        R                  [        R                  SS [        R                  [        R                  /	[        S9n[        R                  " X5        g )	Na_basdf_cas_asdfTr   r+   r?   r   r(   )r
   r.   r/   r   r@   r   r   r   rA   r2   r3   rB   s      r    &test_split_join_roundtrip_mixed_objectr   w  s    
	x~~/?aQTUC WW]]3##((-F	bffbffUH 6,r;   c           	         [        SSS[        R                  SSS/U S9nUR                  R	                  5       n[        U 5      (       a  Sn[        R                  nOS	n[        n[        S
SSUSSS/US9n[        R                  " X%5        g )Nr   fooofooooofooooooozfoo
u   あr(   r1   r*   rY   r-   r_      r+   )	r
   r.   r/   r   r   r   r   r2   r3   r4   s         r    test_lenr     s    
	"&&*guEC WW[[]F$%566"vv q!QaA.nEH6,r;   c                     [        S[        R                  SS[        R                  " 5       SS SS/	5      n U R
                  R                  5       n[        S[        R                  S[        R                  [        R                  S[        R                  [        R                  [        R                  /	5      n[        R                  " X5        g )	Nr   r   Tr   r+   r?   rY      )	r
   r.   r/   r   r@   r   r   r2   r3   rB   s      r    test_len_mixedr     s    
	x~~/?aQTUC WW[[]Fq"&&"bffbffaPQH6,r;   zmethod,sub,start,end,expectedindexEF)r-   rY   r+   r   rindex)r-   r^      r-   rY   )r-   rY   r   r-   Er   r^   )r-   rY   r+   r-   c                 |   U" / SQUS9n[        U5      (       a  [        R                  OSnU" XhS9n[        UR                  U 5      " XU5      n	U[
        L a  [        R                  " X5        O[        R                  " X5        U V
s/ s H  n
[        X5      " XU5      PM     nn
[        U	5      U:X  d   eg s  sn
f )NABCDEFGBCDEFEF	DEFGHIJEFEFGHEFr(   r*   )
r   r.   rM   r   r   r
   r2   r3   assert_index_equalr   )r   substartendindex_or_seriesr5   r9   objr7   r6   r8   s              r    
test_indexr     s     5=MC 22BCC  x>HSWWf%c#6F& 
v0
f/ DGG34%c#63HG<8### Hs   	B9c                     U " / SQUS9n[         R                  " [        SS9   UR                  R	                  S5        S S S 5        g ! , (       d  f       g = f)Nr   r(   zsubstring not foundr   DE)r   r   
ValueErrorr   r   )r   r5   r   s      r    test_index_not_found_raisesr     s@    
5=MC 
z)>	?d 
@	?	?s   A
Ar   c                     U " / US9nSn[         R                  " [        US9   [        UR                  U5      " S5        S S S 5        g ! , (       d  f       g = f)Nr(   z!expected a string object, not intr   r   )r   r   r   r   r   )r   r5   r   r   r   s        r    test_index_wrong_type_raisesr     sA    
"$4
5C
-C	y	, # 
-	,	,s   A		
Azmethod, exp)r+   r+   r   )rY   r+   r,   c                 .   [        SSS[        R                  /U S9n[        U 5      (       a!  [        R                  n[        R                  nOSn[
        n[        UR                  U5      " S5      n[        / UQUPUS9n[        R                  " Xg5        g )NabcbrD   bcber(   r*   r>   )
r
   r.   r/   r   r1   r   r   r   r2   r3   )r5   r   expr   r7   r8   r6   r9   s           r    test_index_missingr     s}     &$/7G
HC$%566vv SWWf%c*FllTl.9H6,r;   c                    [        S/U S9nUR                  R                  S5      n[        / SQ/[        S9n[        R
                  " X#5        UR                  R                  SSSS9n[        S/U S9n[        R
                  " X#5        g )	NzA|B|Cr(   |)r   BC F)regexzA B C)r
   r   r   rA   r2   r3   r~   rc   s       r    test_pipe_failuresr    su    
'"2
3CWW]]3F'v6H6,WW__S#U_3Fwi'78H6,r;   zstart, stop, step, expectedr,   rN   rm   owtoofaaowtrabaaxuqzabaaowtooowtraxuqza
   otoatoaqxofaabac                     [        SS[        R                  S/US9nUR                  R	                  XU5      n[        X4S9n[
        R                  " Xc5        g )Naafootwoaabartwoaabazquxr(   )r
   r.   r/   r   r   r2   r3   )r   rt   ru   r9   r5   r   r6   s          r    
test_slicer    sJ     *j"&&*=EU
VCWW]]5-Fh7H6,r;   r+   oofrabc           
          [        S[        R                  SS[        R                  " 5       S SS/5      nUR
                  R                  XU5      n[        U[        S9n[        R                  " XS5        g )Nr  r  Tr+   r?   r(   )
r
   r.   r/   r   r@   r   r   rA   r2   r3   )r   rt   ru   r9   r   r6   s         r    test_slice_mixed_objectr    sZ     *bffj$8H$PQSVW
XCWW]]5-Fhf-H6,r;   zstart,stop,repl,expectedshrtza it longerevnlongerthanthatzshzrtza zit longerevznlongerthanthatshzortza zbit longerevzenlongerthanthatshorzza bit longezevenlongerthanthazzrtzerzatr_   shortzza bit zngerevenlozerthanthatievenlongzerthanthatc                     [        SSSS[        R                  /US9n[        X4S9nUR                  R	                  XU5      n[
        R                  " Xc5        g )Nshortza bit longerevenlongerthanthatrm   r(   )r
   r.   r/   r   slice_replacer2   r3   )r   rt   replr9   r5   r   r6   s          r    test_slice_replacer/    sT     	."6BFFCC h7HWW""55F6,r;   r   rF   rH   ccr   zaa   zbb 
cc  r   z  aaz bbc                     [        SS[        R                  S/U S9n[        UR                  U5      " 5       n[        X S9n[
        R                  " XE5        g )Nz  aa   z bb 
r1  r(   )r
   r.   r/   r   r   r2   r3   r5   r   r   r   r6   r9   s         r    test_strip_lstrip_rstripr4  &  sI     )Xrvvv6>N
OCSWWf%'Fc2H6,r;   zaa  zbb 	
c           
      r   [        S[        R                  SS[        R                  " 5       S SS/5      n[        UR                  U 5      " 5       n[        / UQ[        R                  P[        R                  PS P[        R                  P[        R                  P[        S9n[        R                  " X45        g )Nz  aa  z bb 	
Tr+   r?   r(   )
r
   r.   r/   r   r@   r   r   rA   r2   r3   )r   r   r   r6   r9   s        r    %test_strip_lstrip_rstrip_mixed_objectr6  6  s     (BFFJhnn6FaQTU
VCSWWf%'FBBRVVBRVVBTB266B266B&QH6,r;   )ABC BNSDLDFJH )ABCxxr8  LDFJH xx)xxABCxx BNSDr9  c                     [        / SQU S9n[        UR                  U5      " S5      n[        X S9n[        R                  " XE5        g )N)xxABCxxr=  r;  r(   x)r
   r   r   r2   r3   r3  s         r    test_strip_lstrip_rstrip_argsrA  F  s?     3;K
LCSWWf%c*Fc2H6,r;   zprefix, expectedr=   )r>   z b cbc)rm   a b crB  rD   rC  rB  c                     [        / SQU S9nUR                  R                  U5      n[        X S9n[        R                  " XE5        g NrD  r(   )r
   r   removeprefixr2   r3   )r5   prefixr9   r   r6   ser_expecteds         r    test_removeprefixrJ  V  >     &.>
?CWW!!&)F(;L60r;   zsuffix, expectedrW   )rD   za b r>   rB  )rD   rC  rm   c                     [        / SQU S9nUR                  R                  U5      n[        X S9n[        R                  " XE5        g rF  )r
   r   removesuffixr2   r3   )r5   suffixr9   r   r6   rI  s         r    test_removesuffixrO  e  rK  r;   c                    [        SSSSS[        R                  SSS/	U S	9nUR                  S
   nUR                  R	                  S
5      n[
        R                  " X#5        UR                  S S nUR                  R                  SS9n[
        R                  " X#5        UR                  SS S2   nUR                  R                  SSS9n[
        R                  " X#5        g )NYYYr   r   
YYYYYYbYYYBYYYcYYYCYYYBYYYdogcYYYtr(   r   rY   rs   r,   r  )r   ru   )r
   r.   r/   r   r   r2   r3   r   rc   s       r    test_string_slice_get_syntaxrW  t  s    
	S,
BFFJwWC
 WWQZFww{{1~H6,WWRa[Fww}}!}$H6,WWQUU^Fww}}12}.H6,r;   c                      [        / SQ5      n U R                  S   n[        S[        R                  S/5      n[        R
                  " X5        g )N))r+   r,   )r+   )rY   r-   r^   r+   r,   r-   r
   r   r.   r/   r2   r3   rB   s      r    &test_string_slice_out_of_bounds_nestedrZ    s<    
*
+CWWQZFq"&&!n%H6,r;   c                     [        / SQU S9nUR                  S   n[        S[        R                  S/U S9n[        R
                  " X#5        g )N)r   r>   rG   r(   r+   or=   rY  rc   s       r    test_string_slice_out_of_boundsr]    sC    
#+;
<CWWQZFsBFFC(0@AH6,r;   c                     [        / SQU S9R                  R                  S5      nUR                  R                  S5      n[        / SQSS9n[        R
                  " X#5        g )N)r=   r>   u   aär(   utf-8r   )r
   r   r   r   r2   r3   rc   s       r    test_encode_decoder`    sN    
$,<
=
A
A
H
H
QCWW^^G$F)7H6,r;   c                 D   [        / SQU S9nSn[        R                  " [        US9   UR                  R                  S5        S S S 5        UR                  R                  SS5      nUR                  S 5      n[        R                  " X45        g ! , (       d  f       NS= f)N)r=   r>   u   ar(   z['charmap' codec can't encode character '\\x9d' in position 1: character maps to <undefined>r   cp1252ignorec                 &    U R                  SS5      $ Nrb  rc  )r   r@  s    r    <lambda>*test_encode_errors_kwarg.<locals>.<lambda>      (H!=r;   )	r
   r   r   UnicodeEncodeErrorr   r   mapr2   r3   )r5   r   r   r6   r9   s        r    test_encode_errors_kwargrl    s|    
$,<
=C	(  
)	5x  
6 WW^^Hh/Fww=>H6, 
6	5s   B
Bc                  d   [        / SQ5      n Sn[        R                  " [        US9   U R                  R                  S5        S S S 5        U R                  R                  SS5      nU R                  S 5      R                  S5      n[        R                  " X#5        g ! , (       d  f       Nb= f)N)   a   bs   azS'charmap' codec can't decode byte 0x9d in position 1: character maps to <undefined>r   rb  rc  c                 &    U R                  SS5      $ re  )r   rf  s    r    rg  *test_decode_errors_kwarg.<locals>.<lambda>  ri  r;   r   )
r
   r   r   UnicodeDecodeErrorr   r   rk  r   r2   r3   )r   r   r6   r9   s       r    test_decode_errors_kwargrs    s    
'
(C	(  
)	5x  
6 WW^^Hh/Fww=>EEeLH6, 
6	5s   B!!
B/c                     [        SS/5      nUR                  R                  SU S9n[        SS/U S9n[        R                  " X#5        g )Nrn  ro  r_  r(   r=   r>   r
   r   r   r2   r3   )string_dtyper   r6   r9   s       r    test_decode_string_dtyperw    sD    
$
CWW^^G<^8FsCj5H6,r;   c                     [        SS/5      nUR                  R                  SU S9n[        SS/U S9n[        R                  " X#5        g )Nrn  s   \ud800r_  r(   r=   z\ud800ru  )object_dtyper   r6   r9   s       r    test_decode_object_dtyperz    sF    
$
#
$CWW^^G<^8FsI&l;H6,r;   c                      [        SS/5      n Sn[        R                  " [        US9   U R                  R                  SSS9  S S S 5        g ! , (       d  f       g = f)Nrn  ro  z1dtype must be string or object, got dtype='int64'r   r_  rM   r(   )r
   r   r   r   r   r   )r   r   s     r    test_decode_bad_dtyper|    sC    
$
C
=C	z	-wg. 
.	-	-s   A
Azform, expectedNFKCr7  123	   アイエrw   	   ＡＢＣ	   １２３	   ｱｲｴc                     [        SSS[        R                  S// SQUS9n[        U/ SQUS9nUR                  R	                  U 5      n[
        R                  " XA5        g )Nr7  r  r  r  r=   r>   rW   rX   er   r)   )r
   r.   r/   r   r   r2   r3   )formr9   r5   r   r6   s        r    test_normalizer    sZ     	["&&+>'C
 h&?GWXHWWt$F6,r;   c                     [        SSS[        R                  S// SQU S9n[        R                  " [
        SS9   UR                  R                  S	5        S S S 5        g ! , (       d  f       g = f)
Nr7  r  r  r  r  r  zinvalid normalization formr   xxx)r
   r.   r/   r   r   r   r   r   r5   r   s     r    test_normalize_bad_arg_raisesr    sT    
	["&&+>'C
 
z)E	F%  
G	F	Fs   A
A-c                      [        / SQ5      n [        / SQ5      nU R                  R                  S5      n[        R                  " X!5        g )N)r  r  r  )r7  r~  r  r}  )r   r   r   r2   r   )idxr9   r6   s      r    test_normalize_indexr    s:    
7
8C01HWWv&F&+r;   zvalues,inferred_typerQ   )r=   r>   r+   zmixed-integer)r=   r>   ?mixed)r=   r>   r  r+   i  c                     U" U 5      nU[         L a  UR                  U:X  d   e[        UR                  [        5      (       d   eg N)r   inferred_typer   r   r   )r   r  r   r   s       r    "test_index_str_accessor_visibilityr    sA     &
!C%  M111cgg}----r;   floating
datetime64timedelta64c                     U" U 5      nU[         L a  UR                  U:X  d   eSn[        R                  " [        US9   UR
                    S S S 5        g ! , (       d  f       g = f)Nz-Can only use .str accessor with string valuesr   )r   r  r   r   AttributeErrorr   )r   r  r   r   r   s        r    0test_index_str_accessor_non_string_values_raisesr    sP     &
!C%  M111
9C	~S	1 
2	1	1s   A
A#c                      [         R                  " SS/5      n U R                  S:X  d   eSn[        R                  " [
        US9   U R                    S S S 5        g ! , (       d  f       g = f)N)r=   r>   r  z5Can only use .str accessor with Index, not MultiIndexr   )r	   from_tuplesr  r   r   r  r   )r  r   s     r    )test_index_str_accessor_multiindex_raisesr    sQ    

 
 *j!9
:C'''
AC	~S	1 
2	1	1s   A
A*c                     [        [        S5      U S9n[        R                  " [        SS9   SUR
                  l        S S S 5        g ! , (       d  f       g = f)Naabbcder(   z You cannot add any new attributer   r=   )r
   r   r   r   r  r   xlabelr  s     r    #test_str_accessor_no_new_attributesr  %  s:    
i(8
9C	~-O	P 
Q	P	Ps   A
Ac                     [        [        R                  " [        S5      S5      R	                  [
        5      5      n [        [        R                  " [        S5      S5      R	                  [
        5      5      nSn[        R                  " [        US9   U R                  R                  U5        S S S 5        g ! , (       d  f       g = f)NabcS1defz9Cannot use .str.cat with values of inferred dtype 'bytes'r   )r
   r.   arrayr   r   rA   r   r   r   r   ry   )lhsrhsr   s      r    test_cat_on_bytes_raisesr  ,  sy    
$u+t,33F;
<C
$u+t,33F;
<C
EC	y	,C 
-	,	,s   B99
Cc                      [        [        SSSS95      n [        / SQ5      nU R                  S SS9n[        R
                  " X!5        g )	Nr  r  T)strict)zA/DzB/EzC/Fc                 T    SR                  U R                  R                  5       5      $ )N/)r   r   r}   )fs    r    rg  1test_str_accessor_in_apply_func.<locals>.<lambda>8  s     7r;   r+   rp   )r   zipr
   applyr2   r3   )dfr9   r6   s      r    test_str_accessor_in_apply_funcr  4  sA    	3ueD1	2B+,HXX7aX@F6,r;   c                     [        SSSS[        R                  /5      n [        SSS[        R                  [        R                  /[        S9n[        R
                  " U R                  R                  S5      U5        [        S	S
/5      n [        SS/5      n[        R
                  " U R                  R                  S5      U5        g )N-111000r  z-01001r(   rY   -2+5z-0002z+0005r^   )r
   r.   r/   rA   r2   r3   r   zfillvaluer9   s     r    
test_zfillr  <  s    D#vr26623EueVRVVRVV<FKH599??1-x8D$< Ew()H599??1-x8r;   c                      [        SS/5      n SnS[        U5      R                   3n[        R                  " [
        US9   U R                  R                  U5        S S S 5        g ! , (       d  f       g = f)Nr  r  r=   z#width must be of integer type, not r   )r
   r   r   r   r   r   r   r  )r  widr   s      r    $test_zfill_with_non_integer_argumentr  G  sV    D$< E
C/S	0B0B/C
DC	y	,		 
-	,	,s   A&&
A4c                      [        / SQ5      n [        / SQ5      n[        R                  " U R                  R	                  S5      U5        g )N)z-catr  z+dog)z-0catz-0001z+0dogr^   )r
   r2   r3   r   r  r  s     r    test_zfill_with_leading_signr  O  s5    )*E12H599??1-x8r;   c                  4   [        SSS.SSS.SS0/5      n U R                  R                  S5      n[        / S	Q[        S
9n[        R
                  " X5        U R                  R                  S5      n[        / SQ[        S
9n[        R
                  " X5        g )NHelloWorld)namer  GoodbyePlanetr  Sear  )r  r  Nr(   )r  r  r  )r
   r   r   rA   r2   r3   )sr6   r9   s      r    test_get_with_dict_labelr  U  s    w/2e	
	A UUYYvF0?H6,UUYYwF0?H6,r;   c                      [        SS/5      R                  R                  SSS9n [        SS/SS	9n[        R                  " X5        g )
N   x   yzUTF-8r  )encodingerrorsr@  yr   r(   ru  )r6   r9   s     r    test_series_str_decoder  f  sD    T4L!%%,,gh,OFsCj.H6,r;   c                      [        SS5         [        / SQ5      n U R                  R                  SS S9n[        / SQSS9n[        R
                  " X5        S S S 5        g ! , (       d  f       g = f)Nzfuture.infer_stringT)rn  ro     cr_  r(   )r=   r>   rW   r   )r   r
   r   r   r2   r3   rB   s      r    test_decode_with_dtype_noner  m  sT    	-t	4'(t4/7
v0	 
5	4	4s   A
A  
A.c                     [         R                  " S5        [        [        S5      SS9n U R	                  S5      nUS S U S S& [        / SQSS9n[
        R                  " X5        [        [        S5      SS9nUR	                  S5      n U S S US S& [        / SQSS9n[
        R                  " X5        [        / SQSS9n [        / S	QSS9nXS
S& [        SSS[        S/SS9n[
        R                  " X5        g )NrR   r^   zstring[python]r(   zstring[pyarrow]r,   )0r  2r   r   )r=   r>   NrX   r  )XYNr+   r-   r=   r  r  r  )r   importorskipr
   r   r   r2   r3   r   )
ser_pythonser_pyarrowr9   s      r    *test_setitem_with_different_string_storager  u  s    	" a(89J##$56K !_JrN/7GHH:0 q):;K##$45J !nKO/7HIH;1 2:JKJ)1BCK!qOsCb#.6FGH:0r;   zpat, expected))z(?=abc)T)z(?<=123)T)z(?!xyz)T)z(?<!\d)T)z(?=a|b)(?<=c)T)r  F)z\d+F)z(abc)F)za|bF)za*F)rm   F)z	\\(?=abc)T)z(?=.*[A-Z])T)za(?=)T)z	(?![0-9])T)z(?=(?!nested))T)ztest\(\?\=ing\)F)z[(?=)]F)z(?#(?=comment)F)z(test # (?=comment))T)z	(?=test)+F)z	(?=test)*F)z	(?=test)?F)zabc|(?=test)T)z
^(?=test)$T)z(abc)\1T)z\b(\w+)\s+\1\bT)z\b(?P<word>\w+)\s+(?P=word)\bTc                 <    [         R                  " U 5      U:X  d   eg r  )r   _has_unsupported_regex)rI   r9   s     r    test_has_regex_unsupported_coder    s    J !77<HHHr;   )Sr   r   numpyr.   r   pandas.compatr   pandasr   r   r   r	   r
   r   r   pandas._testing_testingr2   'pandas.core.arrays._arrow_string_mixinsr   pandas.core.strings.accessorr   pandas.tests.stringsr   markparametrizer!   r$   r:   rC   rK   rU   rd   rg   rj   r   r   r   r/   r   r   r   r   r   r   r   r   r   r  r  r  r/  r4  r6  rA  rJ  rO  rW  rZ  r]  r`  rl  rs  rw  rz  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r;   r    <module>r     s	  
   .    I 6 > QfeU^.D$EF" G"-- 	&'	'(	&'	'(	!"	-	--<- - $S$K(@A- B-PBf 	PQ	ST	VWP	

 P	

 Q	

 Q	

 O	

 O	
1@-A@-: 	IJ	LM	IJ"("(J 	ubffdE2664GH	ubffeUBFFD%HI---	-- - #	$dL1	4t\2	$4.	4D,/	#q!\*	31l+
$
$* GX#67$ 8$ 	)	9--
- !	
AteUBFFE23	
ArBBFFB'(	tR*j"&&*EF	q"w9:	
BE5"&&%01	
ArE5"&&%01
-
- !	
AteRVVUBFFBFFD"&&"&&QR	
ArE2665"&&"&&$OP-- 	
Atfm-@"bffMN	
AsWn.BCPQ	
AsX0EsBFFST	
AsX0EsBFFST	T3.2FRVVTU	r3uc266:;	
AsX}.A3OP	aun.CS"&&QR	-- 	4rvvt,-	GWbfff56	FE266401-- 	4&'	FBFFI./	FBFFE*+-- 	,-	12	12-- 	!"	"#	"#11 	!"	"#	"#11-&-------/ 	%rvv{;<	["&&+FG--!, 
sX	(	'"	_-
q!$	%w/	.	. 
RVVj!
4A
	.
A,'		-99-"-11< "FIG"FIr;   