
    .i                        d dl m Z mZ d dlZd dlZd dlmZ d dlmZm	Z	m
Z
mZmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZ ej0                  j3                  dd d	 ed
dg      g      d        Zd Zd Zd Zej0                  j3                  ddg dfdg dfdg dfdg dfdg dfg      d        Zd Zd Z d Z!ej0                  j3                  dddgddgg      d         Z"d! Z#ej0                  j3                  d"d#g d$fd%g d&fd'g d(fd)g d*fd+g d*fd,g d-fd.g d/fd0g d1fd2g d3fg	      d4        Z$ej0                  j3                  d"d+g d5fd6g d7fd)g d8fg      d9        Z%ej0                  j3                  d"d+d:ejL                  d	d:ejL                  d	d:gfd6d:ejL                  d:d:ejL                  d	d:gfg      d;        Z'd< Z(d= Z)d> Z*d? Z+ej0                  j3                  d@dAdBddg dCfdDdBddg dEfdAdBdFdg dGfdDdBdFdg dEfdAdHddIg dEfdDdHd dJg dKfg      dL        Z,dM Z-ej0                  j3                  dNdAdDg      dO        Z.ej0                  j3                  dPdAg dQgdDg dRgg      dS        Z/dT Z0ej0                  j3                  dUdVdJdd
dejL                  dWgfd dFdXdYdYejL                  dYgfdddXdZd[ejL                  d\gfddVdXd]d^ejL                  d_gfdFd`dVdadbejL                  dcgfdFd dXdddeejL                  degfg      df        Z1ej0                  j3                  dUdVdJdd
ejL                  dejL                  ejL                  dejL                  ejL                  gfddgdXdhejL                  diejL                  ejL                  dejL                  ejL                  gfg      dj        Z2ej0                  j3                  dkdVdFddldmdndYejL                  gfdVdFdodpdqdrdoejL                  gfdVdVdodsdtdudoejL                  gfdVdgdodsdtdudoejL                  gfdXddodvdwdxdoejL                  gfddydodzd{d|doejL                  gfd}dIdod~dddoejL                  gfddFdodzdqddoejL                  gfg      d        Z3ej0                  j3                  dPdddejL                  dggdddejL                  dggdddejL                  dggg      d        Z4ej0                  j3                  dPddejL                  dggddejL                  dggddejL                  dggg      d        Z5ej0                  j3                  dPdg dgdg dgdg dgg      d        Z6ej0                  j3                  ddg dfdg dfdYg dfg      d        Z7ej0                  j3                  ddg dfdg dfdYg dfg      d        Z8d Z9d Z:d Z;d Z<d Z=d Z>d Z?d Z@d ZAej0                  j3                  dddddejL                  dgfddddejL                  dgfg      d        ZBd ZCd ZDej0                  j3                  dddgdfg ddfg ddfg ddfd e ddgdg      gdfg      d        ZEej0                  j3                  ddgejL                  gdf e ddgdg      gdf edg      gdfg      dĄ        ZFdń ZGdƄ ZHdǄ ZIdȄ ZJdɄ ZKdʄ ZLd˄ ZMd̄ ZNd̈́ ZOd΄ ZPdτ ZQej0                  j3                  dg dѢ      d҄        ZRy)    )datetime	timedeltaN)pa_version_under21p0)NA	DataFrameIndex
MultiIndexSeriesStringDtypeoption_context)ArrowStringArrayMixin)StringMethods)is_object_or_nan_string_dtypepatternTfoobarc                 z   t        ddg      }dt        |       j                   }t        j                  t
        |      5  |j                  j                  |        d d d        t        j                  t
        |      5  |j                  j                  |        d d d        y # 1 sw Y   IxY w# 1 sw Y   y xY w)Nr   r   z expected a string or tuple, not match)	r
   type__name__pytestraises	TypeErrorstr
startswithendswith)r   sermsgs      _/var/www/app/trading-bot/venv/lib/python3.12/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% B1%B.1B:c                      t        ddg      } t        j                  t        d      5  t	        | j
                         d d d        y # 1 sw Y   y xY w)Nr   r   z&'StringMethods' object is not iterabler   )r
   r   r   r   iterr   )r   s    r    test_iter_raisesr$   %   s?    
%
 C	y(P	Q SWW  s   AAc                 .   t        ddt        j                  dg|       }|j                  j	                  d      }t        |       r!t        j                  }t        j                  }nd}t        }t        dd|d	g|      }t        j                  ||       y )
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:   /   sx    
%266+>?GW
XCWW]]7#F$%56vv q!T1o^<H68,    c                     t        dt        j                  ddt        j                         dd ddg	t
              } | j                  j                  d      }t        dt        j                  dt        j                  t        j                  dt        j                  t        j                  t        j                  g	      }t        j                  ||       y )	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68,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                     t        |       rdnd}t        g d|       }|j                  j                  |      }t        ||      }t	        j
                  ||       y )Nr1   r*   )aarD   babbNr(   )r   r
   r   r0   r2   r3   )r5   patexpected_datar7   r   r6   r9   s          r    test_count_lookaroundsrK   G   sT     33CD	'  /7G
HCWW]]3Fm>:H68,r;   c                 &   t        |       rdnd}t        g d|       }|j                  j                  d      }| dk(  r| j                  dk(  rt        g d|      }nt        g d	|      }t        j                  ||       |j                  j                  d
      }t        g d|      }t        j                  ||       t        g d|       }|j                  j                  d      }t        g d|      }t        j                  ||       y )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  08H
IC WW]]6"F8#(8(@(@I(M,n= ,n=68, WW]]8$Fl.9H68, 3;K
LCWW]]9%Fl.9H68,r;   c                    t        ddt        j                  dt        j                  dg|       }|j                  j	                  d      }t        ddt        j                  d	t        j                  d
g|       }t        j                  ||       |j                  j	                  g d      }t        ddt        j                  dt        j                  dg|       }t        j                  ||       y )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 68,WW^^./F	dBFFFBFFH5=MH 68,r;   c                     t        dt        j                  ddt        j                         dd ddg	      } | j
                  j                  d      }t        dt        j                  d	t        j                  t        j                  d
d t        j                  t        j                  g	t              }t        j                  ||       y )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 68,r;   zarg, repeatr-   r>   c                     t        d|g|       }|j                  j                  d|g      }t        dd g|       }t        j                  ||       y )Nr=   r(   rY   rZ   )r
   r   rb   r2   r3   )r5   argrb   r   r6   r9   s         r    test_repeat_with_nullrj      sL     #s#3
4CWW^^QK(Fudm+;<H68,r;   c                    t        |       x}}t        d      }t        |       rt        d      }t        t              }nt        d      }t        d      }t        t              }t        t              }t	               }t        j                  ||j                  j                  |             d|j                  j                         k(  sJ t        j                  ||j                  j                                t        j                  ||j                  j                  d             t        j                  ||j                  j                  d             t        j                  ||j                  j                  d             t        j                  ||j                  j                  d             t        j                  ||j                  j                                t        j                  ||j                  j                                t        j                  ||j                  j!                  dd             t        j                  ||j                  j#                  d	             t        j                  ||j                  j%                  d
             t        j&                  t	        t)        d      |       |j                  j+                  dd             t        j&                  t	        t)        d      |       |j                  j+                  dd             t        j                  ||j                  j+                  dd             t        j&                  t	        t)        d      |       |j                  j+                  dd             t        j&                  |j-                  g d      |j                  j/                                t        j                  ||j                  j1                  d             t        j                  ||j                  j3                                t        j                  ||j                  j5                  d             t        j                  ||j                  j7                  d             t        j                  ||j                  j9                  d             t        j                  ||j                  j;                  d             t        j                  ||j                  j=                  d             t        j                  ||j                  j?                  d             t        j                  ||j                  jA                  d             t        j                  ||j                  jC                  dd             t        j&                  ||j                  jC                  d             t        j                  ||j                  jE                  dd             t        j&                  ||j                  jE                  d             t        j                  ||j                  jG                  d             t        j                  ||j                  jG                  d             t        j                  ||j                  jI                                t        j                  ||j                  jK                                t        j                  ||j                  jM                                t        j                  ||j                  jO                  d             t        j                  ||j                  jQ                  d             t        j                  ||j                  jS                  d             t        j                  ||j                  jU                  d             t        j                  ||j                  jW                                t        j                  ||j                  jY                                t        j                  ||j                  j[                                t        j                  ||j                  j]                                t        j                  ||j                  j_                                t        j                  ||j                  ja                                t        j                  ||j                  jc                                t        j                  ||j                  je                                t        j                  ||j                  jg                                t        j                  ||j                  ji                                t        j                  ||j                  jk                                t        j                  ||j                  jm                                t        j                  ||j                  jo                  d             t        jq                  dd      }	t        j                  ||j                  js                  |	             y )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)	$'
)	),
'Lv&K{H
 9eiimmE&:;   9eiioo&789eiiooc&:;:uyy'9'9#'>?:uyy';';C'@A:uyy'9'9#'>?9eiioo&789eiioo&789eii&7&7S&AB9eii&6&6q&9::uyyt'<=%(*:;		$t, %(*:;		&. 9eii&7&7U&7&KL%(*:;		&/ (++BQ+79N9N9PQ9imm&8&8&<=9eiimmo6<)>)>s)CD9eiinnS&9:9eiiooc&:;9eiimmB&789eii&6&6r&:;<)=><)9)9#)>?<)<)<S)<)OP(EII$7$7$<=<)=)=c%)=)PQ(EII$8$8$=>9eiioo1o&=>9eiioo1o&=>9eiioo&789eii&6&6&899eii&6&6&899eiinnR&899eiimmA&67-{/E/Eg/NO;		(8(8(AB:uyy'8'8':;:uyy'8'8':;:uyy'8'8':;:uyy'8'8':;:uyy'8'8':;:uyy'8'8':;:uyy'8'8':;:uyy'8'8':;:uyy':':'<=:uyy':':'<=9eii&:&:&<=9eii&8&8&:;9eii&9&9%&@AMM#s#E9eii&9&9%&@Ar;   zmethod, expectedr   )
TTTTTTTTTTr   )
TTTTTFTTFFr   )
TTTFFFTFFFr   )
FFFTFFFTFFr   r   )
FFFFFFFFFTr   )
FTFFFFFFFFr   )
TFFFTFTFFFr   )
TFTFTFFFFFc                    t        g d|      }t        |      rdnd}t        ||      } t        |j                  |              }t	        j
                  ||       |D cg c]  } t        ||               }}t        |      |k(  sJ t        j                  |j                  g d<    t        |j                  |              }|j                  dk(  r5|j                  t              }t        j                  |j                  g d<   y |j                  dk(  rd|j                  g d<   y t        j                  |j                  g d<   y c c}w )	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y  hn5H%WSWWf%'F68, <??4,wtV,.?O?<?***  VVCHH\%WSWWf%'F
yyH??6*&(ffl#	e	&+l# ')ffl# @s   !E
)FTTTFTTFr   )FTFFFFTF)FTTFFFTFc                 &   t        g d|      }t        |      rdnd}t        ||      }| dk(  rWt        |j                  t              r=|j                  j
                  dk(  r$t        sd|j                  d<   d|j                  d	<    t        |j                  |              }t        j                  ||       |d
k(  st        |t              r?|j
                  dk(  r/|D cg c]  } t        ||               }}t        |      |k(  sJ y y y c c}w )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y  hn5H)syy+.II*$  aa%WSWWf%'F68, 8##[1$$08;<)GD&)+<<F|x''' 1 	2 =s   !DFc                 t   dt         j                  ddt         j                  ddg}t        ||      }|dk(  r4t        |t              j	                  d      j                  t              }nt        |      rd	nd
}t        ||      } t        |j                  |              }t        j                  ||       y )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GHY 	 (.9%WSWWf%'F68,r;   c                     t        ddt        j                  dg|       }|j                  j	                  d      j                  j                  d      }|j                  t              }t        j                  ||       y )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68,r;   c                     t        dt        j                  ddt        j                         dd ddg	      } | j
                  j                  d      j
                  j                  d      }t        dt        j                  dt        j                  t        j                  dd t        j                  t        j                  g	t              }t        j                  ||       y )	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 68,r;   c           	         t        dddt        j                  dddg|       }|j                  j	                         }t        |       rd}t        j                  }nd	}t        }t        d
dd|dddg|      }t        j                  ||       y )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"vv q!QaA.nEH68,r;   c                     t        dt        j                  ddt        j                         dd ddg	      } | j
                  j                         }t        dt        j                  dt        j                  t        j                  dt        j                  t        j                  t        j                  g	      }t        j                  ||       y )	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68,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                 |    |g d|      }t        |      rt        j                  nd} |||      } t        |j                  |       |||      }	|t
        u rt        j                  |	|       nt        j                  |	|       |D 
cg c]  }
 t        |
|       |||       }}
t        |	      |k(  sJ y c c}
w )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  x~>H%WSWWf%c5#6F& 
vx0
fh/ DGG4%f%c5#6GHG<8### Hs   B9c                      | g d|      }t        j                  t        d      5  |j                  j	                  d       d d d        y # 1 sw Y   y xY w)Nr   r(   zsubstring not foundr   DE)r   r   
ValueErrorr   r   )r   r5   r   s      r    test_index_not_found_raisesr     sH    
5=MC 
z)>	? d  s   AAr   c                      | g |      }d}t        j                  t        |      5   t        |j                  |      d       d d d        y # 1 sw Y   y xY w)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     sL    
"$4
5C
-C	y	, $  #$ $ $s   AAzmethod, exp)r+   r+   r   )rY   r+   r,   c                 0   t        dddt        j                  g|       }t        |       r!t        j                  }t        j                  }nd}t
        } t        |j                  |      d      }t        g |||      }t        j                  ||       y )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vv %WSWWf%c*FllTl.9H68,r;   c                 .   t        dg|       }|j                  j                  d      }t        g dgt              }t	        j
                  ||       |j                  j                  ddd      }t        dg|       }t	        j
                  ||       y )	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    sy    
'"2
3CWW]]3F'v6H68,WW__S#U_3Fwi'78H68,r;   zstart, stop, step, expectedr,   rN   rm   owtoofaaowtrabaaxuqzabaaowtooowtraxuqza
   otoatoaqxofaabac                     t        ddt        j                  dg|      }|j                  j	                  | ||      }t        ||      }t        j                  ||       y )Naafootwoaabartwoaabazquxr(   )r
   r.   r/   r   r   r2   r3   )r   rt   ru   r9   r5   r   r6   s          r    
test_slicer    sQ     *j"&&*=EU
VCWW]]5$-Fh&67H68,r;   r+   oofrabc           
          t        dt        j                  ddt        j                         d ddg      }|j
                  j                  | ||      }t        |t              }t        j                  ||       y )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    s^     *bffj$8H$PQSVW
XCWW]]5$-Fhf-H68,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                     t        ddddt        j                  g|      }t        ||      }|j                  j	                  | ||      }t        j                  ||       y )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/    s[     	."6BFFCC h&67HWW""5$5F68,r;   r   rF   rH   ccr   zaa   zbb 
cc  r   z  aaz bbc                     t        ddt        j                  dg|       } t        |j                  |             }t        ||       }t        j                  ||       y )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  &  sP     )Xrvvv6>N
OC%WSWWf%'Fc!12H68,r;   zaa  zbb 	
c           
      v   t        dt        j                  ddt        j                         d ddg      } t        |j                  |              }t        g |t        j                  t        j                  d t        j                  t        j                  t              }t        j                  ||       y )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%WSWWf%'FBBRVVBRVVBTB266B266B&QH68,r;   )ABC BNSDLDFJH )ABCxxr8  LDFJH xx)xxABCxx BNSDr9  c                     t        g d|       } t        |j                  |      d      }t        ||       }t        j                  ||       y )N)xxABCxxr=  r;  r(   x)r
   r   r   r2   r3   r3  s         r    test_strip_lstrip_rstrip_argsrA  F  sF     3;K
LC%WSWWf%c*Fc!12H68,r;   zprefix, expectedr=   )r>   z b cbc)rm   a b crB  rD   rC  rB  c                     t        g d|       }|j                  j                  |      }t        ||       }t        j                  ||       y NrD  r(   )r
   r   removeprefixr2   r3   )r5   prefixr9   r   r6   ser_expecteds         r    test_removeprefixrJ  V  C     &.>
?CWW!!&)F(*:;L6<0r;   zsuffix, expectedrW   )rD   za b r>   rB  )rD   rC  rm   c                     t        g d|       }|j                  j                  |      }t        ||       }t        j                  ||       y rF  )r
   r   removesuffixr2   r3   )r5   suffixr9   r   r6   rI  s         r    test_removesuffixrO  e  rK  r;   c                    t        dddddt        j                  dddg	| 	      }|j                  d
   }|j                  j	                  d
      }t        j                  ||       |j                  d d }|j                  j                  d      }t        j                  ||       |j                  dd d   }|j                  j                  dd      }t        j                  ||       y )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68,WWRa[Fww}}!}$H68,WWQUU^Fww}}12}.H68,r;   c                      t        g d      } | j                  d   }t        dt        j                  dg      }t	        j
                  ||       y )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68,r;   c                     t        g d|       }|j                  d   }t        dt        j                  dg|       }t	        j
                  ||       y )N)r   r>   rG   r(   r+   or=   rY  rc   s       r    test_string_slice_out_of_boundsr]    sE    
#+;
<CWWQZFsBFFC(0@AH68,r;   c                     t        g d|       j                  j                  d      }|j                  j                  d      }t        g dd      }t	        j
                  ||       y )N)r=   r>   u   aär(   utf-8r   )r
   r   r   r   r2   r3   rc   s       r    test_encode_decoder`    sP    
$,<
=
A
A
H
H
QCWW^^G$F)7H68,r;   c                 D   t        g d|       }d}t        j                  t        |      5  |j                  j                  d       d d d        |j                  j                  dd      }|j                  d       }t        j                  ||       y # 1 sw Y   NxY w)N)r=   r>   u   ar(   z['charmap' codec can't encode character '\\x9d' in position 1: character maps to <undefined>r   cp1252ignorec                 &    | j                  dd      S Nrb  rc  )r   r@  s    r    <lambda>z*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_kwargrk    s    
$,<
=C	(  
)	5 !x ! WW^^Hh/Fww=>H68,! !s   BBc                  ^   t        g d      } d}t        j                  t        |      5  | j                  j                  d       d d d        | j                  j                  dd      }| j                  d       j                  d      }t        j                  ||       y # 1 sw Y   ]xY w)N)   a   bs   azS'charmap' codec can't decode byte 0x9d in position 1: character maps to <undefined>r   rb  rc  c                 &    | j                  dd      S re  )r   rf  s    r    rg  z*test_decode_errors_kwarg.<locals>.<lambda>  rh  r;   r   )
r
   r   r   UnicodeDecodeErrorr   r   rj  r   r2   r3   )r   r   r6   r9   s       r    test_decode_errors_kwargrq    s    
'
(C	(  
)	5 !x ! WW^^Hh/Fww=>EEeLH68,! !s   B##B,c                     t        ddg      }|j                  j                  d|       }t        ddg|       }t        j                  ||       y )Nrm  rn  r_  r(   r=   r>   r
   r   r   r2   r3   )string_dtyper   r6   r9   s       r    test_decode_string_dtyperu    sF    
$
CWW^^G<^8FsCj5H68,r;   c                     t        ddg      }|j                  j                  d|       }t        ddg|       }t        j                  ||       y )Nrm  s   \ud800r_  r(   r=   z\ud800rs  )object_dtyper   r6   r9   s       r    test_decode_object_dtyperx    sH    
$
#
$CWW^^G<^8FsI&l;H68,r;   c                      t        ddg      } d}t        j                  t        |      5  | j                  j                  dd       d d d        y # 1 sw Y   y xY w)Nrm  rn  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_dtyperz    sL    
$
C
=C	z	- /wg./ / /s   AAzform, expectedNFKCr7  123	   アイエrw   	   ＡＢＣ	   １２３	   ｱｲｴc                     t        dddt        j                  dgg d|      }t        |g d|      }|j                  j	                  |       }t        j                  ||       y )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    s\     	["&&+>'C
 h&?GWXHWWt$F68,r;   c                     t        dddt        j                  dgg d|       }t        j                  t
        d      5  |j                  j                  d	       d d d        y # 1 sw Y   y xY w)
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    s\    
	["&&+>'C
 
z)E	F !% ! ! !s   A$$A-c                      t        g d      } t        g d      }| j                  j                  d      }t        j                  ||       y )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                 ~     ||       }|t         u r|j                  |k(  sJ t        |j                  t              sJ y N)r   inferred_typer   r   r   )r   r  r   r   s       r    "test_index_str_accessor_visibilityr    s>     &
!C%  M111cgg}---r;   floating
datetime64timedelta64c                      ||       }|t         u r|j                  |k(  sJ d}t        j                  t        |      5  |j
                   d d d        y # 1 sw Y   y xY w)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    sY     &
!C%  M111
9C	~S	1   s   AAc                      t        j                  ddg      } | j                  dk(  sJ d}t        j                  t
        |      5  | j                   d d d        y # 1 sw Y   y xY w)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    sZ    

 
 *j!9
:C'''
AC	~S	1   s   AA%c                     t        t        d      |       }t        j                  t        d      5  d|j
                  _        d d d        y # 1 sw Y   y xY w)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  %  sB    
i(8
9C	~-O	P   s   AAc                     t        t        j                  t        d      d      j	                  t
                    } t        t        j                  t        d      d      j	                  t
                    }d}t        j                  t        |      5  | j                  j                  |       d d d        y # 1 sw Y   y xY w)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  ,  s    
$u+t,33F;
<C
$u+t,33F;
<C
EC	y	, C  s   B99Cc                      t        t        ddd            } t        g d      }| j                  d d      }t	        j
                  ||       y )	Nr  r  T)strict)zA/DzB/EzC/Fc                 T    dj                  | j                  j                               S )N/)r   r   r}   )fs    r    rg  z1test_str_accessor_in_apply_func.<locals>.<lambda>8  s     7 r;   r+   rp   )r   zipr
   applyr2   r3   )dfr9   r6   s      r    test_str_accessor_in_apply_funcr  4  sC    	3ueD1	2B+,HXX7aX@F68,r;   c                     t        ddddt        j                  g      } t        dddt        j                  t        j                  gt              }t	        j
                  | j                  j                  d      |       t        d	d
g      } t        ddg      }t	        j
                  | j                  j                  d      |       y )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                      t        ddg      } d}dt        |      j                   }t        j                  t
        |      5  | j                  j                  |       d d d        y # 1 sw Y   y xY w)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  s_    D$< E
C/S	0B0B/C
DC	y	, 		  s   A((A1c                      t        g d      } t        g d      }t        j                  | j                  j	                  d      |       y )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                  @   t        ddddddddig      } | j                  j                  d      }t        g d	t        
      }t	        j
                  ||       | j                  j                  d      }t        g dt        
      }t	        j
                  ||       y )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68,UUYYwF0?H68,r;   c                      t        ddg      j                  j                  dd      } t        ddgd	      }t        j                  | |       y )
N   x   yzUTF-8r  )encodingerrorsr@  yr   r(   rs  )r6   r9   s     r    test_series_str_decoder  f  sF    T4L!%%,,gh,OFsCj.H68,r;   c                      t        dd      5  t        g d      } | j                  j                  dd       }t        g dd      }t	        j
                  ||       d d d        y # 1 sw Y   y xY w)Nzfuture.infer_stringT)rm  rn     cr_  r(   )r=   r>   rW   r   )r   r
   r   r   r2   r3   rB   s      r    test_decode_with_dtype_noner  m  s_    	-t	4 1'(t4/7
vx0	1 1 1s   AA&&A/c                     t        j                  d       t        t        d      d      } | j	                  d      }|d d | d d t        g dd      }t        j                  | |       t        t        d      d      }|j	                  d      } | d d |d d t        g dd      }t        j                  ||       t        g dd      } t        g d	d      }|| d
d t        dddt        dgd      }t        j                  | |       y )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:x0 q):;K##$45J !nKO/7HIH;1 2:JKJ)1BCK!JqOsCb#.6FGH:x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                 8    t        j                  |       |k(  sJ y 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`  rk  rq  ru  rx  rz  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;   