
    Pi                        d dl m Z  d dlZd dlZd dlZd dlmZ d dlmc m	Z
 d dlZd dlmZmZmZ d dlmZmZ d Zd Zd Zej                            d	dej        fd
dddej        ej        fg          ej                            dddg          d                         Zd Zd Zd Zd Zej                            ddg dfdg dfdg dfdg dfdg dfg          ej                            dej         ddej        dej        g          d                          Z!d! Z"d" Z#ej                            d#d$d%g          ej                            d&d'd(g          ej                            d)dej        ej        g          ej                            dddg          d*                                                 Z$ej                            dg d+          d,             Z%ej                            d#d$d%g          ej                            d&d'd(g          ej                            d)dej        ej        g          ej                            dddg          d-                                                 Z&ej                            dg d+          d.             Z'd/ Z(d0 Z)d1 Z*d2 Z+d3 Z,d4 Z-ej                            d5dd6d7d8ig          ej                            d9g d:g d;g          d<                         Z.d= Z/ej                            d5d> d? dd@g          dA             Z0ej                            dBdCdDdEgfdFdDdEgfdGdDdEgfdHdIdJgfdKdLdMgfgg dNO          ej                            dPddg          dQ                         Z1ej                            d5g dR          ej                            dPddg          dS                         Z2ej                            dTdUdVg          dW             Z3ej                            dXdYdZg d[fd\dZg d[fg           e
j4        d]          d^                         Z5d_ Z6d` Z7da Z8db Z9dc Z:dd Z;ej                            dedfdgg          dh             Z<di Z=dj Z>dk Z?dl Z@dm ZAej                            dddg          dn             ZBej                            ddg dofdg dpfdg dqfdg drfdg dsfg          dt             ZCdu ZDdv ZEdw ZFdx ZGdy ZHdz ZIej                            d{ddddggd|dddggd}dddggd~dddggddddggddddggddddggg          d             ZJej                            ddg dfdg dfdg dfdg dfdg dfg          d             ZKd ZLd ZMd ZNd ZOd ZPd ZQej                            ddddg dgdddg dgd}ddg dgdddg dgdddg dgdddg dgdddg dgdddg dgdddg dgdddg dgdddg dgdddg dgg          d             ZRej                            d#g d          d             ZSd ZTd ZUd ZVej                            ddg d7gg g gfdg d8gg g gfdd7d7gg d7gg gfdd7d7gd7gg g gfdg dgg g gfg          d             ZWd ZXd ZYd ZZd Z[ej                            dd ej\        d e
j4        d]                    g          d             Z]d Z^d Z_dS )    )datetimeN)lib)SeriesStringDtype_testing)_convert_na_valueis_object_or_nan_string_dtypec           	      z	   t          j        dt           j        dddgt           j                  }t	          ||           }d}|j                            |          }| dk    rt	          g dt                    }nQt          |           rd	nd
}t	          t          j        dt           j        dddgt           j                  |          }t          j
        ||           |j                            |d          }| dk    rt	          g dt                    }n>t	          t          j        dt           j        dddgt           j                  |          }t          j
        ||           t	          t          j        g dt                    |           }|j                            |          }t          |           rt           j        nd
}t	          t          j        g d          |          }t          j
        ||           t	          t          j        g dt                    |           }|j                            dd          }t	          t          j        g d          |          }t          j
        ||           |j                            ddd          }t	          t          j        g d          |          }t          j
        ||           t	          t          j        dt           j        ddgt           j                  |           }d}|j                            |          }| dk    rt	          g dt                    }nPt          |           rd	nd
}t	          t          j        dt           j        ddgt           j                  |          }t          j
        ||           |j                            |d          }t          |           rt           j        nd
}t	          t          j        g d          |          }t          j
        ||           t	          t          j        g dt           j                  |           }|j                            |          }t	          t          j        g d          |          }t          j
        ||           d S )Nfoofooommm__foommm_zfoommm[_]+bardtypezmmm[_]+str)FFTTFobjectbooleanFTregex)FFFFT)r   xyzr   r   )FFTT)FooxYzfOOomMm__fOoMMM_zFOO|mmmcase)TFTT)r   r   TFTFna)nparraynanobject_r   r   containsboolr	   tmassert_series_equalr   bool_)any_string_dtypevaluespatresultexpectedexpected_dtypes         z/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/strings/test_find_replace.pytest_containsr/      s   X	@
  F F"2333F
CZ  %%F5  ;;;4HHH 66FGGVHHY 	 HeRVT47rzJJJ 
 
 

 68,,,Z  E 22F5  <<<DIIIHeRVUE48
KKK 
 
 
 68,,,
777vFFF  F Z  %%F12BCCR  bh999::.QQQH68,,, 
777vFFF  F
 Z   77Fbh88899PPPH68,,, Z  e% @@Fbh999::.QQQH68,,, 
%8
KKK  F CZ  %%F5  444DAAA 66FGGVHHY 	 HeRVT40
CCC 
 
 
 68,,,Z   //F12BCCR  bh999::.QQQH68,,,
777rzJJJ  F Z  %%Fbh999::.QQQH68,,,,,    c                     t          t          j        dt          j        ddt	          j                    dd ddg	t                              } | j                            d          }t          t          j        d	t          j        d	t          j        t          j        dd t          j        t          j        g	t          j	                            }t          j        ||           d S )
NabTr             @r   oF)r   r   r    r!   r   todayr   r   r#   r"   r%   r&   mixedr+   r,   s      r.   test_contains_object_mixedr:   x   s    
"&#tX^%5%5udAsK	
 	
 	
 E Y$$F
BFE26264rvrvN*	
 	
 	
 H 68,,,,,r0   c                     t          ddddt          j        gd          } | j                            dd          }t          g d          }t          j        ||           | j                            dd	          }t          g d
          }t          j        ||           t          ddddt          j        g          } | j                            dd          }t          g d          }t          j        ||           | j                            dd	          }t          g d
          }t          j        ||           d S )Nr2   r3   ccategoryr   Tr   )TFFTTF)TFFTF)r   r   r!   r   r#   r%   r&   )r)   r+   r,   s      r.   *test_contains_na_kwarg_for_object_categoryr>      sI    S#sC0
CCCFZ   ..F66677H68,,,Z   //F77788H68,,, S#sC011FZ   ..F66677H68,,,Z   //F77788H68,,,,,r0   zna, expected)TT)FF)r   F)   Tr   TFc                    t          ddddt          j        g|           }|dv r\|durXd| }t          j        t
          |          5  |j                            d||	           d d d            d S # 1 swxY w Y   d S |j                            d||	          }t          d
ddd
|gd          }t          j	        ||           d S )Nr2   r3   r<   r   )r   r?   Fz4na must be None, pd.NA, np.nan, True, or False; got match)r   r   Tr   )
r   r   r!   pytestraises
ValueErrorr   r#   r%   r&   )nullable_string_dtyper   r,   r   r)   msgr+   s          r.   0test_contains_na_kwarg_for_nullable_string_dtyperH      s,   " S#sC08MNNNF	V||%IRII]:S111 	9 	9J%888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 $$SRu$==4tX>iPPP
vx00000s   	A44A8;A8c                    t          ddddddt          j        ddd	g
| 
          }|j                            d          }| dk    r
t
          }d}nt          |           rdnd}t          j        }t          dddddd|dddg
|
          }t          j        ||           |j                            dd          }t          dddddd|dddg
|
          }t          j        ||           |j                            d          }t          dddddd|dddg
|
          }t          j        ||           |j                            d          }t          dddddd|dddg
|
          }t          j        ||           |j                            dd          }t          dddddd|dddg
|
          }t          j        ||           d S )NABCAabaBaca CABAdogcatr   r2   r   Fr   r   Tr   Aaba)	r   r   r!   r   r#   r$   r	   r%   r&   )r(   sr+   r-   na_valuer,   s         r.   test_contains_moarrW      s2   	c3BFFE5I	 	 	A
 U^^C  F5   66FGGVHHY 	 6	udD%5%N  H 68,,,U^^Ce^,,F	ueT4$tL  H 68,,,U^^D!!F	udE5(E5%P  H 68,,,U^^D!!F	udE5(E5%P  H 68,,,U^^Du^--F	udD%4N  H 68,,,,,r0   c                 |   t          t          j        t          j        t          j        g|           }|j                            dd          }t          |           rt          j        nd}t          g d|          }t          j        ||           |j                            dd          }t          g d|          }t          j        ||           d	}t          j
        t          |
          5  |j                            dd           d d d            n# 1 swxY w Y   |j                            d          }| dk    rt          g dt                    }nEt          |           rdnd}t          t          j        t          j        t          j        g|          }t          j        ||           d S )Nr   r   Fr   r   FFFT)TTTz7na must be None, pd.NA, np.nan, True, or False; got foorA   r   r   )r   r   r!   r   r#   r	   r'   r%   r&   rC   rD   rE   r$   )r(   rU   r+   r-   r,   rG   s         r.   test_contains_nanrZ      s   '/?@@@AU^^Ee^,,F12BCCR  +++>BBBH68,,,U^^Ed^++F(((???H68,,,
CC	z	-	-	- ( (	u'''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( U^^E""F5  ///t<<< 66FGGVHHY 	 2626262.III68,,,,,s   5DD"%D"c                    t          |           rt          j        nd}t          g d|           }t	          j        d          }|j                            |          }t          g d|          }t          j	        ||           | dk    rP| j
        dk    rE|j                            |d	          }t          g d
|          }t          j	        ||           nOt          j        t          d          5  |j                            |d	           d d d            n# 1 swxY w Y   t	          j        dt          j                  }|j                            |          }t          g d
|          }t          j	        ||           t          j        t          d          5  |j                            |t          j                   d d d            d S # 1 swxY w Y   d S )Nr   )r   barBazr   zba.FTFstringpyarrowFr   FTT5cannot process flags argument with a compiled patternrA   flags)r	   r   r'   r   recompiler   r#   r%   r&   storagerC   rD   rE   
IGNORECASEr(   r-   serr*   r+   r,   s         r.   test_contains_compiled_regexrk     sz    22BCCR  &&&.>
?
?
?C
*U

CWc""F***.AAAH68,,, 8##(8(@I(M(M!!#E!22---^DDD
vx0000]U
 
 
 	. 	. GSu---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.
 *U"-
0
0
0CWc""F)))@@@H68,,, 
Q
 
 
 3 3 	BM2223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3s$   8D!!D%(D%)'GG!$G!c                    t          |           rt          j        nd}t          g d|           }t	          j        d          }|j                            |          }t          g d|          }t          j	        ||           t	          j        dt          j
                  }|j                            |          }t          g d|          }t          j	        ||           t	          j        dt          j
        t          j        z            }|j                            |          }t          g d|          }t          j	        ||           d S )	Nr   )foobarzfoo
barr]   r   z^barY   rc   r^   ra   )r	   r   r'   r   re   rf   r   r#   r%   r&   	MULTILINErh   ri   s         r.   "test_contains_compiled_regex_flagsro   5  sG    22BCCR  ...6F
G
G
GC
*U

CWc""F+++>BBBH68,,,
*U",
/
/
/CWc""F***.AAAH68,,,
*U",">
?
?
?CWc""F)))@@@H68,,,,,r0   zpat, expected_dataa(?=b)FTFF(?<=a)ba(?!b)r   (?<!b)aTTFFabr   c                    | dk    rt          |t                    sd}nt          |           rt          j        nd}| dk    r6|t
          j        u st          j        |          r|t          j	        urd }nU|}nR|t
          j        u st          j        |          r.| dk    rd}n'| dk    rt          j	        }nt          d|            |}|                                }|                    |           t          g d|           }|j                            |d	|
          }t          ||          }t!          j        ||           d S )Nr   r   r   Fr_   zUnrecognized string dtype aarv   rT   bbNr   T)r   r   )
isinstancer$   r	   r   r'   r   
no_defaultpdisnaNArE   copyappendr   r   r#   r%   r&   )	r(   r*   expected_datar   r-   	na_resultrj   r+   r,   s	            r.   test_contains_lookaroundsr   M  se    8##Jr4,@,@#! 66FGGVBHHY 	 8###.  BGBKK Rru__IIII	s~			u$$II))IIL:JLLMMM	!&&((M###
///7G
H
H
HCWc"55Fm>:::H68,,,,,r0   c                    t          |           rt          j        nd}t          g d|           }|j                            d          }| dk    r| j        dk    rt          g d|          }nt          g d|          }t          j        ||           |j                            d	          }t          g d|          }t          j        ||           t          d
d	                    d          d	dddg|           }|j                            d          }t          g d|          }t          j        ||           |j                            d          }t          g d|          }t          j        ||           |j                            d          }t          g d|          }t          j        ||           d S )Nr   bazr\   barsbar
r   bar$r_   r`   rq   FTFTbar\Zr\   zbar{}\bar\\Zr   r   )FFTFFFzbar\\\Z)FTFFFFzbar\\\\Z)FFFTFF)
r	   r   r'   r   r   r#   rg   r%   r&   formatr(   r-   rj   r+   r,   s        r.   test_contains_end_of_stringr   w  s    22BCCR  0008H
I
I
IC Wf%%F8##(8(@I(M(M555^LLL 444NKKK68,,, Wh''F111HHHH68,,, 	%%xFGL  C
 Wi((F???~VVVH68,,,Wj))F???~VVVH68,,,Wk**F???~VVVH68,,,,,r0   c           	         t          dt          j        dddt          j        dg|           }d}t          j        t
          |          5  |j                            d	d
           d d d            n# 1 swxY w Y   t          j        t
          |          5  |j                            dd
           d d d            d S # 1 swxY w Y   d S )Nomfoo_nomnombar_foor   r   z7na must be None, pd.NA, np.nan, True, or False; got bazrA   kapowr   r   r\   )	r   r   r!   rC   rD   rE   r   
startswithendswith)r(   rj   rG   s      r.   $test_startswith_endswith_validate_nar     sP   
	rvy%BFEB  C DC	z	-	-	- . .7u---. . . . . . . . . . . . . . .	z	-	-	- * *5)))* * * * * * * * * * * * * * * * * *s$   
A33A7:A7CC
Cr*   r   )r   r   r   r   r=   
null_valuec                    t          d|ddd|dg|          }|j                            |           }t          dt          j        dddt          j        dg          }|d	k    r$|t
          j        u r|                    |          }nU|d	k    r|d ||                                <   n5|r3|d
k    r-|                    d          	                    t                    }t          j        ||           |j                            | |          }t          d|ddd|dg          }t          j        ||           t          j        dt          j        ddt          j                    dd ddg	t          j                  }t          |          j                            d          }	t          dt          j        dt          j        t          j        dd t          j        t          j        g	          }
t          j        |	|
           d S Nr   r   r   r   r   r   FTr   r=   r   r2   r3   r4   r5   f)r   r   r   r   r!   r}   r   fillnar~   astyper$   r%   r&   r    r   r7   r"   r*   r   r   r   using_infer_stringr)   r+   expr9   rsxps              r.   test_startswithr     s    	z9eY
EJ  F
 Z""3''F
%ueRVTB
C
CCZ2500jj$$	(		z1CHHJJ	 - 3 3jj&&t,,63'''Z""32"..F
%T5%T:
;
;C63''' H	bfc4!1!15$3Gj  E 
		%	%c	*	*B	rvrvtT2626R	S	SB2r"""""r0   )NTFc                    t          g d|           }|j                            d|          }t          |           r|t          nt
          nd}| dk    rt
          }|d}t          d|ddd|dddg	|          }t          j        ||           |j                            d	|          }t          d|ddd|dddg	|          }t          j        ||           d S 
N)	r   Nr   r   r   Nr   r   rege.r   r   r   r   r   FTr   )r   r   r   r	   r   r$   r%   r&   r(   r   r)   r+   r-   r   s         r.   test_startswith_string_dtyper     s#   PPP  F Z""5R"00F ))9::	2:44 
 5  :B
	D%D%?~  C 63'''Z""7r"22F
	E5%UE4@  C 63'''''r0   c                    t          d|ddd|dg|          }|j                            |           }t          dt          j        dddt          j        dg          }|d	k    r$|t
          j        u r|                    |          }nU|d	k    r|d ||                                <   n5|r3|d
k    r-|                    d          	                    t                    }t          j        ||           |j                            | |          }t          d|ddd|dg          }t          j        ||           t          j        dt          j        ddt          j                    dd ddg	t                     }t          |          j                            d          }	t          dt          j        dt          j        t          j        dd t          j        t          j        g	          }
t          j        |	|
           d S r   )r   r   r   r   r!   r}   r   r   r~   r   r$   r%   r&   r    r   r7   r   r   s              r.   test_endswithr     s    	z9eY
EJ  F
 Z  %%F
%tRVTB
C
CCZ2500jj$$	(		z1CHHJJ	 - 3 3jj&&t,,63'''Z   ,,F
%UE4T:
;
;C63''' H	bfc4!1!15$3G  E 
		#	#C	(	(B	rvrvudBFBFS	T	TB2r"""""r0   c                    t          g d|           }|j                            d|          }t          |           r|t          nt
          nd}| dk    rt
          }|d}t          d|ddd|dddg	|          }t          j        ||           |j                            d	|          }t          d|ddd|dddg	|          }t          j        ||           d S r   )r   r   r   r	   r   r$   r%   r&   r   s         r.   test_endswith_string_dtyper     s#   PPP  F Z  2 ..F ))9::	2:44 
 5  :B
	E5$D%?~  C 63'''Z  R 00F
	E5%UE4@  C 63'''''r0   c                     t          g dd          }d}t          j        t          |          5  |j                            dddd	
           d d d            d S # 1 swxY w Y   d S )N)rJ   B_junkC_gunkmy_messy_coldatanamez,repl cannot be used when pat is a dictionaryrA   r2   r3   rJ   rK   rJ   )r*   replr   rC   rD   rE   r   replace)r(   seriesrG   s      r.   test_replace_dict_invalidr   >  s    222HHHF
8C	z	-	-	- ? ?
Ss33#>>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?s    AA"%A"c                     t          g dd          }|j                            ddd          }t          g dd          }t          j        ||           d S )	N)rJ   rK   rL   r   r   r2   r3   r   )r*   )r2   r3   rL   r   r   r   r%   r&   )r(   r   
new_seriesr,   s       r.   test_replace_dictr   G  sg    ~>>>F##c(<(<#==J???@@@H:x00000r0   c                     t          dt          j        g|           }|j                            ddd          }t          dt          j        g|           }t          j        ||           d S )NfooBAD__barBADr   BAD[_]*rO   Tr   rm   r   r   r!   r   r   r%   r&   r(   rj   r+   r,   s       r.   test_replacer   O  si    
"BF+3C
D
D
DCW__Y$_77Fx(0@AAAH68,,,,,r0   c                    t          dt          j        g|           }t          dt          j        g|           }|j                            dddd          }t          j        ||           t          d	t          j        g|           }|j                            d
ddd          }t          j        ||           d S )Nr   r   	foobarBADr   rO   r4   Tnr   foo__barBADBADFr   r(   rj   r,   r+   s       r.   test_replace_max_replacementsr   W  s    
"BF+3C
D
D
DC{BF+3CDDDHW__Yat_<<F68,,,}bf-5EFFFHW__UB!5_99F68,,,,,r0   c                     t          dt          j        ddt          j                    dd ddg	          } t          |           j                            ddd	          }t          d
t          j        dt          j        t          j        dd t          j        t          j        g	t                    }t          j	        ||           d S )NaBADbBADTfooBADr4   r5   r   rO   r   r2   r3   r   r   )
r   r   r!   r   r7   r   r   r   r%   r&   rj   r+   r,   s      r.   test_replace_mixed_objectr   c  s    
	x~'7'74CP C C[[_$$Y$$??F	bfc26265$Gv  H 68,,,,,r0   c                    t          d                    d          g|           }t          d                    d          g|           }|j                            ddt          j        d          }t          j        ||           d S )	N   abcd,àutf-8r      abcd, à(?<=\w),(?=\w), Trd   r   )r   decoder   r   re   UNICODEr%   r&   r   s       r.   test_replace_unicoder   n  s    
"))'223;K
L
L
LC(//889AQRRRHW__.BJd_SSF68,,,,,r0   r   r?   r2   r3   r   )r2   r3   N)r2   r3   r<   adc                     d} |||           }t          j        t          |          5  |j                            d|           d d d            d S # 1 swxY w Y   d S )Nz!repl must be a string or callabler   rA   r2   )rC   rD   	TypeErrorr   r   )r(   index_or_seriesr   r   rG   objs         r.   #test_replace_wrong_repl_type_raisesr   u  s     .C
/$&6
7
7
7C	y	,	,	, # #T"""# # # # # # # # # # # # # # # # # #s   AAAc                     t          dt          j        g|           }d }|j                            d|dd          }t          dt          j        g|           }t          j        ||           d S )	Nr   r   c                 P    |                      d                                          S Nr   groupswapcasems    r.   <lambda>z'test_replace_callable.<locals>.<lambda>      QWWQZZ((** r0   [a-z][A-Z]{2}   Tr   foObaD__baRbaDr   )r(   rj   r   r+   r,   s        r.   test_replace_callabler     sv    
"BF+3C
D
D
DC +*DW___dat_DDF'08HIIIH68,,,,,r0   c                      d S N r   r0   r.   r   r     s    T r0   c                     d S r   r   )r   xs     r.   r   r     s     r0   c                     d S r   r   )r   r   ys      r.   r   r     s    4 r0   c                     t          dt          j        g|           }d}t          j        t
          |          5  |j                            d|d           d d d            d S # 1 swxY w Y   d S )Nr   r   zO((takes)|(missing)) (?(2)from \d+ to )?\d+ (?(3)required )positional arguments?rA   r2   Tr   )r   r   r!   rC   rD   r   r   r   )r(   r   r)   rG   s       r.   test_replace_callable_raisesr     s    
 %rv.6FGGGF	0  
y	,	,	, 2 2
3D1112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2s   A&&A*-A*zrepl, expected_listz\g<three> \g<two> \g<one>zThree Two OnezBaz Bar Fooz\3 \2 \1z\g<3> \g<2> \g<1>z\g<2>0Two0Bar0z	\g<2>0 \1zTwo0 OnezBar0 Foo)named_groups_full_swapnumbered_groups_no_g_full_swapnumbered_groups_full_swapsingle_group_with_literal"mixed_group_reference_with_literal)idsuse_compilec                     t          ddg|           }d}|rt          j        |          }|j                            ||d          }t          ||           }t          j        ||           d S )NOne Two ThreeFoo Bar Bazr   ((?P<one>\w+) (?P<two>\w+) (?P<three>\w+)Tr   )r   re   rf   r   r   r%   r&   )r(   r  r   expected_listrj   patternr+   r,   s           r.   $test_replace_named_groups_regex_swapr    s~    J /=19I
J
J
JC9G &*W%%W__Wd$_77Fm+;<<<H68,,,,,r0   )z\g<20>\20z\40z\4c                    |s}d|vryt          | t                    rd| j        dk    rY|dk    r5t          j                            d          }|                    |           t          j        d          }|j        }d}nt          j
        }d}d}|rt          j        |          }t          d	d
g|           }	t          j        ||          5  |	j                            ||d           d d d            d S # 1 swxY w Y   d S )Nz\gr`   r  z%PyArrow interprets as group + literal)reasonz(only has \d parenthesized subexpressionszinvalid group referencer  r  r  r   rA   Tr   )r{   r   rg   rC   markxfailapplymarkerimportorskipArrowInvalidre   errorrf   r   rD   r   r   )
r(   r   r  requestr  pa
error_type	error_msgr
  rj   s
             r.   2test_replace_named_groups_regex_swap_expected_failr    sa    .'55 $	11 6>>;$$,S$TTD%%% ++_
?		X
-	9G &*W%%
/=19I
J
J
JC	z	3	3	3 3 3T2223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3s   C::C>C>zpattern, repl)z(\w+) (\w+) (\w+)r  )r  r  c                     t          ddg|           }|j                            ||d          }t          ddg|           }t          j        ||           d S )Nr  r  r   Tr   r   r   r   )pyarrow_string_dtyper
  r   rj   r+   r,   s         r.   'test_pyarrow_ambiguous_group_referencesr    sf     /=19M
N
N
NCW__Wd$_77Fvv&.BCCCH68,,,,,r0   zpattern, repl, expected_listz\[(?P<one>\d+)\]z(\1))z
var.one(0)z
var.two(1)zvar.three(2)z	\[(\d+)\]r`   c                     t          g d                              d          }|j                            | |d          }t          |                              d          }t	          j        ||           d S )N)z
var.one[0]z
var.two[1]zvar.three[2]r`   )dtype_backendTr   )r   convert_dtypesr   r   r%   r&   )r
  r   r	  rj   r+   r,   s         r.   &test_pyarrow_backend_group_replacementr     s    " ===
>
>
M
M N  C W__Wd$_77Fm$$33)3LLH68,,,,,r0   c                     t          dt          j        g|           }d}d }|j                            ||d          }t          dt          j        g|           }t          j        ||           d S )Nr  r   z,(?P<first>\w+) (?P<middle>\w+) (?P<last>\w+)c                 P    |                      d                                          S )Nmiddler   r   s    r.   r   z4test_replace_callable_named_groups.<locals>.<lambda>  s    QWWX&&//11 r0   Tr   bARr   )r(   rj   r*   r   r+   r,   s         r.   "test_replace_callable_named_groupsr%    st    
-(0@
A
A
AC
9C11DW__S$d_33Fubfo-=>>>H68,,,,,r0   c                    t          dt          j        g|           }t          j        d          }|j                            |dd          }t          dt          j        g|           }t          j        ||           |j                            |ddd	          }t          d
t          j        g|           }t          j        ||           d S )Nr   r   BAD_*rO   Tr   rm   r4   r   r   	r   r   r!   re   rf   r   r   r%   r&   )r(   rj   r*   r+   r,   s        r.   test_replace_compiled_regexr)  $  s    
"BF+3C
D
D
DC *X

CW__S"D_11Fx(0@AAAH68,,,W__S"_66F{BF+3CDDDH68,,,,,r0   c                     t          j        d          } t          dt          j        ddt          j                    dd ddg	          }t          |          j                            | dd	          }t          d
t          j        dt          j        t          j        dd t          j        t          j        g	t                    }t          j        ||           d S )Nr'  r   r   Tr   r4   r5   rO   r   r2   r3   r   r   )re   rf   r   r   r!   r   r7   r   r   r   r%   r&   )r*   rj   r+   r,   s       r.   (test_replace_compiled_regex_mixed_objectr+  3  s    
*X

C
	x~'7'74CP C C[[_$$S"D$99F	bfc26265$Gv  H 68,,,,,r0   c                 >   t          d                    d          g|           }t          d                    d          g|           }t          j        dt          j                  }|j                            |dd	          }t          j        ||           d S )
Nr   r   r   r   r   rc   r   Tr   )	r   r   re   rf   r   r   r   r%   r&   )r(   rj   r,   r*   r+   s        r.   #test_replace_compiled_regex_unicoder-  ?  s    
"))'223;K
L
L
LC(//889AQRRRH
*&bj
9
9
9CW__S$d_33F68,,,,,r0   c                 h   t          dt          j        g|           }t          j        d          }d}t          j        t          |          5  |j        	                    |dt          j
        d           d d d            n# 1 swxY w Y   t          j        t          |          5  |j        	                    |dd	d
           d d d            n# 1 swxY w Y   t          j        t          |          5  |j        	                    |ddd
           d d d            d S # 1 swxY w Y   d S )NfooBAD__barBAD__badr   r'  z9case and flags cannot be set when pat is a compiled regexrA   rO   Tr   Fr   r   )r   r   r!   re   rf   rC   rD   rE   r   r   rh   r(   rj   r*   rG   s       r.   "test_replace_compiled_regex_raisesr2  G  s    '08H
I
I
IC
*X

C
EC	z	-	-	- B BRr}DAAAB B B B B B B B B B B B B B B 
z	-	-	- 9 9Re48889 9 9 9 9 9 9 9 9 9 9 9 9 9 9 
z	-	-	- 8 8Rd$7778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8s6   )BBB*CCC;D''D+.D+c                    t          dt          j        g|           }d }t          j        d          }|j                            ||dd          }t          dt          j        g|           }t          j        ||           d S )	Nr   r   c                 P    |                      d                                          S r   r   r   s    r.   r   z6test_replace_compiled_regex_callable.<locals>.<lambda>\  r   r0   r   r   Tr   r   r(  )r(   rj   r   r*   r+   r,   s         r.   $test_replace_compiled_regex_callabler5  Y  s    
"BF+3C
D
D
DC**D
*_
%
%CW__S$!4_88F'08HIIIH68,,,,,r0   zregex,expected_val)Tbao)Fr   c                     t          ddt          j        g|          }t          d|t          j        g|          }|j                            dd|           }t          j        ||           d S )Nzf.or   r   r6  zf.rT   r   r   )r   expected_valr(   rj   r,   r+   s         r.   test_replace_literalr9  c  sn     %'/?
@
@
@CulBF3;KLLLHW__T4u_55F68,,,,,r0   c                     t          g |           }d }d}t          j        t          |          5  |j                            d|d           d d d            d S # 1 swxY w Y   d S )Nr   c                 P    |                      d                                          S r   r   r   s    r.   r   z6test_replace_literal_callable_raises.<locals>.<lambda>n  r   r0   z2Cannot use a callable replacement when regex=FalserA   abcFr   r   )r(   rj   r   rG   s       r.   $test_replace_literal_callable_raisesr=  l  s    
+
,
,
,C**D
>C	z	-	-	- 2 2t51112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2s   AA!$A!c                     t          g |           }t          j        d          }d}t          j        t
          |          5  |j                            |dd           d d d            d S # 1 swxY w Y   d S )Nr   r   zCCannot use a compiled regex as replacement pattern with regex=FalserA   rO   Fr   )r   re   rf   rC   rD   rE   r   r   r1  s       r.   $test_replace_literal_compiled_raisesr?  u  s    
+
,
,
,C
*_
%
%C
OC	z	-	-	- . .Ru---. . . . . . . . . . . . . . . . . .s   A..A25A2c                 X   t          ddddddt          j        ddd	g
| 
          }|j                            dd          }t          ddddddt          j        ddd	g
| 
          }t          j        ||           |j                            ddd          }t          ddddddt          j        dddg
| 
          }t          j        ||           |j                            dddd          }t          ddddddt          j        dddg
| 
          }t          j        ||           d S )NrJ   rK   rL   rM   rN   rO   rP   rQ   rR   r   YYYYYYabaCYYYBYYYFr   
YYYYYYbYYYBYYYcYYYcYYYtz^.a|dogzXX-XX Tr0  zXX-XX bazXX-XX cazXX-XX BAzXX-XX tr   r   s       r.   test_replace_moarrG  ~  sp   
	c3BFFE5I  C
 W__S%((F	S(FB
E5Q  H 68,,,W__S%e_44FF	
   H 68,,,W__YuD_IIFF	
   H 68,,,,,r0   c                    t          ddddt          j        g|           }|j                            dddd	          }t          d
d
ddt          j        g|           }t          j        ||           |j                            dd
dd	          }t          d
d
ddt          j        g|           }t          j        ||           d S )NzA.za.Abrv   r   r2   r<   Fr0  zc.cbr   r   s       r.   )test_replace_not_case_sensitive_not_regexrK    s    
$dD"&19I
J
J
JCW__S#E_??FtT4rv6>NOOOH68,,,W__T4e5_AAFtT4rv6>NOOOH68,,,,,r0   c                     t          dddt          j        dg|           }|j                            ddd          }t          dddt          j        dg|           }t          j        ||           d S )	Nr2   r3   acrO   r   z^.$Tr   r   )r(   rU   r+   r,   s       r.   test_replace_regexrN    st    S$+3CDDDAU]]5#T]22FsCrvr2:JKKKH68,,,,,r0   c                 0   t          dddt          j        dg|          }|j                            dd|           }| r!t          dddt          j        dg|          }n t          d	ddt          j        dg|          }t          j        ||           d S )
Nza.b.r3   rO   r   r2   r   aaaaabr   )r   r(   rU   r+   r,   s        r.   #test_replace_regex_single_characterrS    s     	sC,4DEEEAU]]35]11F Q5#sBFB7?OPPP5#sBFB7?OPPP68,,,,,r0   )ry   xbrT   rz   )ry   axrT   rz   )xxrv   bxrz   )rV  rT  rT   rz   )ry   r   rT   rz   c                 <   t          g d|           }|j                            |dd          }| dk    rd }n8| dk    rt          j        }n%| dk    rt
          j        }nt          d	|            t          g |||           }t          j	        ||           d S )
Nrx   r   r   Tr   r   r   r_   Unrecognized dtype: )
r   r   r   r   r!   r}   r   rE   r%   r&   r(   r*   r   rj   r+   null_resultr,   s          r.   test_replace_lookaroundsr\    s     ///7G
H
H
HCW__S#T_22F8##	U	"	"f	X	%	%eB0@BBCCC33{3;KLLLH68,,,,,r0   c                 :   t          g d|           }|j                            ddd          }| dk    r| j        dk    rt          g d	|           }nt          g d
|           }t	          j        ||           |j                            ddd          }t          g d	|           }t	          j        ||           t          g d|           }|j                            ddd          }t          g d|           }t	          j        ||           d S )Nr   r   r   r   Tr   r_   r`   )r   r   r   r   )r   r   r   zx
r   r   r\   r   r   r   )r   r\   r   r   )r   r   r   rg   r%   r&   r   s       r.   test_replace_end_of_stringr_    sK   
0008H
I
I
IC W__VS_55F8##(8(@I(M(M777?OPPP 555=MNNN68,,, W__Xs$_77F333;KLLLH68,,, 333;K
L
L
LCW__Y4_88F333;KLLLH68,,,,,r0   c                    | dk    r
t           }d}nt          |           rdnd}t          j        }t	          dt          j        dg|           }|j                            d          }t	          d	|dg|          }t          j        ||           t	          dd
t          j        dg|           }|j                            d          }t	          d	d	|dg|          }t          j        ||           |j                            d          }t	          dd	|dg|          }t          j        ||           t	          ddt          j        dg|           }|j                            d          }t	          dd|dg|          }t          j        ||           |j                            d          }t	          dd	|dg|          }t          j        ||           d S )Nr   Fr   r   r   r   r   .*(BAD[_]+).*(BAD)TBAD_BADleroybrown.*BAD[_]+.*BADzBAD[_]+.*BADz^BAD_BADleroybrownz^BAD[_]+.*BADz\^BAD[_]+.*BAD)	r$   r	   r   r!   r   r   rB   r%   r&   )r(   r-   rV   r)   r+   r,   s         r.   
test_matchrd    s   5   66FGGVHHY 	 6%rvu5=MNNNFZ233FtXu-^DDDH68,,,	.>FV  F Z.//FtT8U3>JJJH68,,,Zn--FudHe4NKKKH68,,,	/?GW  F Zo..FueXu5^LLLH68,,,Z/00FudHe4NKKKH68,,,,,r0   c                     t          dt          j        ddt          j                    dd ddg	          } t          |           j                            d          }t          dt          j        dt          j        t          j        dd t          j        t          j        g	          }t          |t                     sJ t          j	        ||           d S )	NaBAD_BAD	BAD_b_BADTr   r4   r5   ra  F)
r   r   r!   r   r7   r   rB   r{   r%   r&   r8   s      r.   test_match_mixed_objectrh  4  s    FN
	
 E E]]$$%9::FtRVT26265$PRPVWXXHff%%%%%68,,,,,r0   c                    t          ddt          j        g|           }|j                            dd          }t          |           rt          j        nd}t          g d|          }t          j        ||           |j                            d          }| dk    r
t          }d}nt          |           rd	nd}t          j        }t          d
d|g|          }t          j        ||           d S )Nr2   r3   r   Fr   r   )TFFr   r   T)
r   r   r!   r   rB   r	   r'   r%   r&   r$   )r(   rU   r+   r-   r,   rV   s         r.   test_match_na_kwargrj  H  s    S"&!)9:::AU[[[''F12BCCR  ***.AAAH68,,,U[[F5   66FGGVHHY 	 6tUH-^DDDH68,,,,,r0   c                     t          g d|           }|j                            dd          }t          |           rt          j        nd}t          g d|          }t          j        ||           d S )Nrv   ABr<  ABCr   rv   Fr   r   TTTTr   r   rB   r	   r   r'   r%   r&   )r(   r)   r+   r-   r,   s        r.   test_match_case_kwargrq  b  s    ...6FGGGFZd//F12BCCR  ...nEEEH68,,,,,r0   c                    t          |           rt          j        nd}t          g d|           }|j                            t          j        d                    }t          g d|          }t          j	        ||           d}t          j        t          |          5  |j                            t          j        d          d	           d d d            n# 1 swxY w Y   |j                            t          j        dt          j        
                    }t          g d|          }t          j	        ||           d}t          j        t          |          5  |j                            t          j        d          t          j        
           d d d            n# 1 swxY w Y   |j                            t          j        dt          j        
          t          j        
           d S )Nr   rl  r   rv   r   z^Cannot both specify 'case' and pass a compiled regexp object with conflicting case-sensitivityrA   Fr   rc   ro  zTCannot both specify 'flags' and pass a compiled regexp object with conflicting flags)r	   r   r'   r   r   rB   re   rf   r%   r&   rC   rD   rE   rh   )r(   r-   r)   r+   r,   rG   s         r.   test_match_compiled_regexrs  l  sZ    22BCCR  ...6FGGGFZbj..//F000GGGH68,,,	:  
z	-	-	- 7 7
D))6667 7 7 7 7 7 7 7 7 7 7 7 7 7 7 ZbjR]CCCDDF...nEEEH68,,,	/  
z	-	-	- @ @
D))???@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ JRZBM:::"-PPPPPs$   "/CC!$C!%9F**F.1F.zpat, case, exprI  bcz	a[a-z]{1}z	A[a-z]{1}z	(bc)|(ab)z((bc)|(ab))c                     t          ddg|           }|j                            ||          }t          |           rt          j        nd}t          ||          }t          j        ||           d S )Nr<  Xabr   r   r   rp  )r(   r*   r   r   rj   r+   r-   r,   s           r.   test_str_match_extra_casesrw    s}     %'7
8
8
8CW]]3T]**F 22BCCR  c000H68,,,,,r0   )FFFFTFFFc                 2   | dk    rd\  }}n3| dk    rd\  }}n'| dk    rdt           j        }}nt          d|            t          g d| 	          }|j                            |          }t          g |||	          }t          j        ||           d S )
Nr   r   Nr   r$   Fr_   r   rY  rx   r   )r}   r   rE   r   r   rB   r%   r&   )r(   r*   r   r-   r[  rj   r+   r,   s           r.   test_match_lookaroundsr|    s     8##&4#	U	"	"&3#	X	%	%&/B0@BBCCC
///7G
H
H
HCW]]3F33{3>JJJH68,,,,,r0   c                 b   t          |           rt          j        nd}t          g d|           }|j                            d          }| dk    r| j        dk    rt          g d|          }nt          g d|          }t          j        ||           |j                            d	          }t          g d|          }t          j        ||           t          g d
|           }|j                            d          }t          g d|          }t          j        ||           d S )Nr   r   r   r   r_   r`   rq   r   r   r^  r   rx  )	r	   r   r'   r   r   rB   rg   r%   r&   r   s        r.   test_match_end_of_stringr~    sU    22BCCR  0008H
I
I
IC W]]6""F8##(8(@I(M(M555^LLL 444NKKK68,,, W]]8$$F111HHHH68,,, 333;K
L
L
LCW]]9%%F111HHHH68,,,,,r0   c                 D   t          ddt          j        dg|           }|j                            d          }| dk    rt          g dt
                    }n2t          |           rdnd	}t          d
dt          j        dg|          }t          j        ||           d S )Nr   rb  r   r   rc  r   rx  r   r   TF	r   r   r!   r   	fullmatchr$   r	   r%   r&   r(   rj   r+   r,   r-   s        r.   test_fullmatchr    s    
	.>FV  C W/00F5  555TBBB 66FGGVHHY 	 46nMMM68,,,,,r0   c                 D   t          ddt          j        dg|           }|j                            d          }| dk    rt          g dt
                    }n2t          |           rdnd	}t          d
d
t          j        dg|          }t          j        ||           d S )Nr   zfoo$foozfoo$r   zfoo\$r   )FFFTr   r   FTr  r  s        r.   test_fullmatch_dollar_literalr    s    
%BFF3;K
L
L
LCWx((F5  555TBBB 66FGGVHHY 	 5%6nMMM68,,,,,r0   c                    t          ddt          j        dg|           }|j                            dd          }t          |           rt          j        nd}t          g d	|          }t          j        ||           d S )
Nr   rb  r   r   rc  Fr   r   rx  )	r   r   r!   r   r  r	   r'   r%   r&   )r(   rj   r+   r-   r,   s        r.   test_fullmatch_na_kwargr    s    
	.>FV  C W/E::F12BCCR  111HHHH68,,,,,r0   c                    t          g d|           }t          |           rt          j        nd}t          g d|          }|j                            dd          }t          j        ||           t          g d|          }|j                            dd	          }t          j        ||           |j                            dt          j	        
          }t          j        ||           d S )Nrl  r   r   rx  rv   Tr   ru   Frc   )
r   r	   r   r'   r   r  r%   r&   re   rh   )r(   rj   r-   r,   r+   s        r.   test_fullmatch_case_kwargr    s    
+++3C
D
D
DC12BCCR  111HHHHWt$//F68,,,000GGGHWt%00F68,,,Wt2=99F68,,,,,r0   c                 8   t          |           rt          j        nd}t          g d|           }|j                            t          j        d                    }t          g d|          }t          j	        ||           | dk    rb| j
        dk    rW|j                            t          j        d          d	          }t          g d
|          }t          j	        ||           nat          j        t          d          5  |j                            t          j        d          d	           d d d            n# 1 swxY w Y   |j                            t          j        dt          j                            }t          g d
|          }t          j	        ||           t          j        t          d          5  |j                            t          j        d          t          j                   d d d            d S # 1 swxY w Y   d S )Nr   rl  r   rv   rx  r_   r`   Fr   ru   rb   rA   rc   )r	   r   r'   r   r   r  re   rf   r%   r&   rg   rC   rD   rE   rh   )r(   r-   r)   r+   r,   s        r.   test_fullmatch_compiled_regexr  #  s    22BCCR  ...6FGGGFZ!!"*T"2"233F111HHHH68,,, 8##(8(@I(M(M%%bj&6&6U%CC444NKKK
vx0000]U
 
 
 	? 	? J  D!1!1 >>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	?
 Z!!"*T"G"G"GHHF000GGGH68,,,	Q
 
 
 D D 	
RZ--R]CCCD D D D D D D D D D D D D D D D D Ds$   /EE
E	9HHHzpat, case, na, expr<  )TFFNAbc)FFFNz	a[a-z]{2}abc$zabc\$)FTFNzAbc$zAbc\$z(abc)|(abx)z((abc)|(abx))c                     t          g d|           }|j                            |||          }| dk    rd|d<   t          }nt	          |           rdnd}t          ||          }t          j        ||           d S )	N)r<  r  z$abcNr   )r   r   r   Fr   r   )r   r   r  r$   r	   r%   r&   )	r(   r*   r   r   r   rj   r+   r-   r,   s	            r.   test_str_fullmatch_extra_casesr  D  s    , ...6F
G
G
GCWs"55F5  B 66FGGVHHY 	 c000H68,,,,,r0   )rp   rr   rs   rt   rv   c                 D   | dk    rd\  }}n3| dk    rd\  }}n'| dk    rdt           j        }}nt          d|            t          g d| 	          }|j                            |          }t          d
|dk    rdnd
d
d
|g|	          }t          j        ||           d S )Nr   rz  r   r{  r_   r   rY  rx   r   Frv   T)r}   r   rE   r   r   r  r%   r&   )r(   r*   r-   r[  rj   r+   r,   s          r.   test_fullmatch_lookaroundsr  i  s     8##&4#	U	"	"&3#	X	%	%&/B0@BBCCC
///7G
H
H
HCWs##F	tukJ  H 68,,,,,r0   c                    t          |           rt          j        nd}t          g d|           }|j                            d          }t          g d|          }t          j        ||           |j                            d          }t          j        ||           t          g d|           }|j                            d          }t          g d	|          }t          j        ||           d S )
Nr   r   r   r   rq   r   r^  r   rx  )r	   r   r'   r   r   r  r%   r&   r   s        r.   test_fullmatch_end_of_stringr    s    22BCCR  0008H
I
I
IC Wv&&F111HHHH68,,, Wx((F68,,, 333;K
L
L
LCWy))F111HHHH68,,,,,r0   c                    t          dt          j        ddg|           }|j                            d          }t          ddgt          j        g dgg          }t          ||          }t          j        ||           d S )Nr   r   r   r   r   BAD__)r   r   r!   r   findallr   r%   r&   r   s       r.   test_findallr    s{    
"BFE59AQ
R
R
RCW__Y''F'eW=>>H h//H68,,,,,r0   c                  d   t          dt          j        ddt          j                    dd ddg	          } | j                            d          }t          ddgt          j        g t          j        t          j        dgd t          j        t          j        g	          }t          j        ||           d S )	Nr   r   Tr   r4   r5   r   r  )	r   r   r!   r   r7   r   r  r%   r&   r   s      r.   test_findall_mixed_objectr    s    
FN
	
 C W__Y''FeFFFGFF
	
 H 68,,,,,r0   c                 2   t          g d|           }|j                            |          }| dk    rd }n8| dk    rt          j        }n%| dk    rt
          j        }nt          d|            t          g ||          }t          j	        ||           d S )Nrx   r   r   r   r_   rY  )
r   r   r  r   r!   r}   r   rE   r%   r&   rZ  s          r.   test_findall_lookaroundsr    s     ///7G
H
H
HCW__S!!F8##	U	"	"f	X	%	%eB0@BBCCC33{344H68,,,,,r0   c                    t          g d|           }|j                            d          }t          g dgg dggt                    }t	          j        ||           |j                            d          }t          g dgg g gt                    }t	          j        ||           t          g d|           }|j                            d          }t          dgg g g gt                    }t	          j        ||           d S )Nr   r   r   r\   r   r^  r   )r   r   r  r   r%   r&   r   s       r.   test_findall_end_of_stringr    s   
0008H
I
I
IC W__V$$FrE7B0???H68,,, W__X&&FrE7B+6:::H68,,, 333;K
L
L
LCW__Y''Fz2r2.f===H68,,,,,r0   c                    t          g d|           }t          |           rt          j        nd}|j                            d          }t          g d|          }t          j        ||           t          j        d t          j        |          D             t          j                  }t          j	        t          j        |t          j                  |           |j        
                    d          }t          g d|          }t          j        ||           t          j        d t          j        |          D             t          j                  }t          j	        t          j        |t          j                  |           |j                            dd	          }t          g d
|          }t          j        ||           t          j        d t          j        |          D             t          j                  }t          j	        t          j        |t          j                  |           |j        
                    dd	          }t          g d|          }t          j        ||           t          j        d t          j        |          D             t          j                  }t          j	        t          j        |t          j                  |           |j                            dd	d          }t          g d|          }t          j        ||           t          j        d t          j        |          D             t          j                  }t          j	        t          j        |t          j                  |           |j        
                    dd	d          }t          g d|          }t          j        ||           t          j        d t          j        |          D             t          j                  }t          j	        t          j        |t          j                  |           d S )N)ABCDEFGBCDEFEF	DEFGHIJEFEFGHEFXXXXr   Int64EF)   r?   r4   r   r  c                 8    g | ]}|                     d           S r  find.0vs     r.   
<listcomp>ztest_find.<locals>.<listcomp>  s"    ===!===r0   )r        r  r  c                 8    g | ]}|                     d           S r  rfindr  s     r.   r  ztest_find.<locals>.<listcomp>  s"    >>>1>>>r0   r?   )r  r?   r  r  r  c                 :    g | ]}|                     d d          S r  r?   r  r  s     r.   r  ztest_find.<locals>.<listcomp>  s$    @@@Qa@@@r0   c                 :    g | ]}|                     d d          S r  r  r  s     r.   r  ztest_find.<locals>.<listcomp>  s&    AAAaq))AAAr0      )r  r?   r  r  r  c                 <    g | ]}|                     d dd          S r  r?   r  r  r  s     r.   r  ztest_find.<locals>.<listcomp>  s(    CCCa++CCCr0   c                 <    g | ]}|                     d dd          S r  r  r  s     r.   r  ztest_find.<locals>.<listcomp>$  s(    DDDq!,,DDDr0   )r   r	   r   int64r   r  r%   r&   r    assert_numpy_array_equalr  )r(   rj   r-   r+   r,   s        r.   	test_findr    s   
===EU  C 22BCCP  W\\$F&&&n===H68,,,x==rx}}===RXNNNHrx @ @ @(KKKW]]4  F&&&n===H68,,,x>>>>>bhOOOHrx @ @ @(KKKW\\$""F&&&n===H68,,,x@@"(3--@@@QQQHrx @ @ @(KKKW]]4##F&&&n===H68,,,xAA28C==AAARRRHrx @ @ @(KKKW\\$1%%F'''~>>>H68,,,xCCRXc]]CCC28TTTHrx @ @ @(KKKW]]4A&&F'''~>>>H68,,,xDDbhsmmDDDBHUUUHrx @ @ @(KKKKKr0   c                 ^   t          g |           }t          j        t          d          5  |j                            d           d d d            n# 1 swxY w Y   t          j        t          d          5  |j                            d           d d d            d S # 1 swxY w Y   d S )Nr   z!expected a string object, not intrA   r   )r   rC   rD   r   r   r  r  )r(   rj   s     r.   test_find_bad_arg_raisesr  (  s!   
+
,
,
,C	y(K	L	L	L  Q               
y(K	L	L	L  a                 s#   AAA:B""B&)B&c                    t          dt          j        dt          j        dg|           }t          |           rt          j        }t          j        }nd}t
          j        }|j                            d          }t          d|d|d	g|          }t          j
        ||           |j                            d          }t          d|d
|d	g|          }t          j
        ||           |j                            dd          }t          d|d
|d	g|          }t          j
        ||           |j                            dd          }t          d|d
|d	g|          }t          j
        ||           |j                            ddd          }t          d|d	|d	g|          }t          j
        ||           |j                            ddd          }t          d|d	|d	g|          }t          j
        ||           d S )Nr  r  r  r   r  r  r  r4   r  r  r?   r  )r   r   r!   r	   float64r}   r   r   r  r%   r&   r  )r(   rj   r-   itemr+   r,   s         r.   test_find_nanr  1  s   
	BFK8@P  C %%566 v uW\\$Fq$4,NCCCH68,,,W]]4  Fq$4,NCCCH68,,,W\\$""Fq$4,NCCCH68,,,W]]4##Fq$4,NCCCH68,,,W\\$1%%Fq$D"-^DDDH68,,,W]]4A&&Fq$D"-^DDDH68,,,,,r0   infer_string)marksc                      | g d|          }t                               dd          }|j                             |          } | g d|          }t          j        ||           d S )N)abcdefgabcccdddfgcdefgggr   r<  cde)cdedefgcdeeedddfgedefggg)r   	maketrans	translater%   assert_equal)r   r(   r  r   tabler+   r,   s          r.   test_translater  Z  s     /0008H  C MM%''EWu%%F0008H  H OFH%%%%%r0   c                     t          g d          } t                              dd          }t          dddt          j        gt
                    }| j                            |          }t          j        ||           d S )N)r2   r3   r<   g333333?r<  r  r<   der   )	r   r   r  r   r!   r   r  r%   r&   )rU   r  r,   r+   s       r.   test_translate_mixed_objectr  i  sr    ###$$AMM%''EsCbf-V<<<HU__U##F68,,,,,r0   c                    dddt           j        d}t          ||           }d}|j                            |t
          j        d          }|j        d	                                         g d
k    sJ |j        	                    |t
          j                  }|j        d	         sJ |j        
                    |t
          j                  }|j        d	         sJ |j                            |t
          j                  }|j        d	         d	         d
k    sJ |j                            |t
          j                  }|j        d	         dk    sJ d}t          j        t          |          5  |j                            |t
          j                  }d d d            n# 1 swxY w Y   |j        d	         sJ d S )Nzdave@google.comzsteve@gmail.comzrob@gmail.com)DaveSteveRobWesr   z,([A-Z0-9._%+-]+)@([A-Z0-9.-]+)\.([A-Z]{2,4})T)rd   expandr   )davegooglecomrc   r4   zhas match groupsrA   )r   r!   r   r   extractre   rh   iloctolistrB   r  r  countr%   assert_produces_warningUserWarningr#   )r(   r   r*   r+   rG   s        r.   test_flags_kwargr  u  s   !"v	 D $.///D
9CXctDDF;q>  ""&?&?&?????X^^Cr}^55F;q>>X2=99F;q>>Xc77F;q>! 99999X^^Cr}^55F;q>Q
C		#Ks	;	;	; = =""3bm"<<= = = = = = = = = = = = = = =;q>>s   2'F%%F),F)r   )`r   re   numpyr   rC   pandas._libsr   pandas.util._test_decoratorsutil_test_decoratorstdpandasr}   r   r   r   r%   pandas.tests.stringsr   r	   r/   r:   r>   r  parametrizer   r!   rH   rW   rZ   rk   ro   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  
skip_if_nor   r%  r)  r+  r-  r2  r5  r9  r=  r?  rG  rK  rN  rS  r\  r_  rd  rh  rj  rq  rs  rw  r|  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  paramr  r  r  r   r0   r.   <module>r     s         				            ) ) ) ) ) ) ) ) )             
       [- [- [-|- - -"- - -0 	ru	
 
 4-001 1 10
 
1"1- 1- 1-h- - ->!3 !3 !3H- - -0 	///0	0001	.../	///0	***+	 	 eRVT25QRR- - SR	 	->'- '- '-^
* 
* 
*  7888Z"899bfbe'<==e}--# # .- >= :9 98#@ 22233( ( 43(D  7888Z"899bfbe'<==e}--# # .- >= :9 98#@ 22233( ( 43(>? ? ?1 1 1- - -	- 	- 	-- - -- - - $C:!677"2"2"24I4I4I!JKK# # LK 87#- - - 
\\,,.G.G.GH 
2 
2 
2  )m,	

 m,	

 !m,	

 V	

 $	
#,	 	 	1   @ u66
- 
- 76A B
- 
    u663 3 76 3> &= - - - "  888	
 888	
  y- -   -- - -- - -	- 	- 	-- - -8 8 8$- - - -~/NOO- - PO-2 2 2. . .0- 0- 0-f
- 
- 
-- - - 4-00
- 
- 10
- 	,,,-	---.	,,,-	---.	&&&'	 	- -	 	- - - ->$- $- $-N- - -(- - -4- - -Q Q QD 	utUm$	teU^$	teU^$	edE]+	dUEN+	dT5M*	tUm,	 - - - 	///0	1112	///0	///0	***+	 	- -	 	- - - -F- - -"- - -	- 	- 	-- - -(D D DB  
t7778	d7778	tT6667	ud7778	eT#=#=#=>	dD"="="=>	8889	5$ : : :;	t8889	4:::;	d$>$>$>?	$&@&@&@A	 *- -+ *-  	BBB - -	 -(- - -:- - -- - -B 	R#B'(	b3%R()	c3ZcUB/0	sCj3%R01	TFB#$	 	- -	 	- - - -4*L *L *LZ  !- !- !-R ULFL]R]95M5MNNNO 	& 	& 	&- - -    r0   