
    d              
          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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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d  Zd! Zd" Zej                            d#dd$d%d&ig          ej                            d'g d(g d)g          d*                         Zd+ Zej                            d#d, d- dNd.g          d/             Z d0 Z!d1 Z"d2 Z#d3 Z$d4 Z%d5 Z&ej                            d6dd7d7ej        gfdd7dej        gfg          d8             Z'd9 Z(d: Z)d; Z*d< Z+d= Z,ej                            dddg          d>             Z-d? Z.d@ Z/dA Z0dB Z1dC Z2dD Z3dE Z4dF Z5dG Z6dH Z7dI Z8dJ Z9dK Z:dL Z;dM Z<dS )O    )datetimeN)PerformanceWarning)Series_testingc           	         t          j        dt           j        dddgt           j                  }t	          ||           }d}|j                            |          }| dk    rdnd}t	          t          j        d	t           j        d
d
d	gt           j                  |          }t          j        ||           |j                            |d	          }t	          t          j        d	t           j        d	d	d
gt           j                  |          }t          j        ||           t	          t          j        g dt                    |           }|j                            |          }| dk    rt           j
        nd}t	          t          j        g d          |          }t          j        ||           t	          t          j        g dt                    |           }t          j        t          | dk              5  |j                            dd	          }d d d            n# 1 swxY w Y   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dnd}t	          t          j        d	t           j        d
d
gt           j                  |          }t          j        ||           |j                            |d	          }| dk    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[_]+objectbooleanFTregex)r   xyzr	   r
   )FFTT)FooxYzfOOomMm__fOoMMM_string[pyarrow]zFOO|mmmcase)TFTT)r   r   )TFTFna)nparraynanobject_r   strcontainstmassert_series_equalr   bool_maybe_produces_warningr   )any_string_dtypevaluespatresultexpected_dtypeexpecteds         b/var/www/html/t/fyr/venv311/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!1X!=!=XX9N
%tU32:FFF  H 68,,,Z  E 22F
%t4BJGGG  H 68,,,
777vFFF  F Z  %%F!1X!=!=RXX9Nbh999::.QQQH68,,, 
777vFFF  F 
	",0AA
 
 < < $$YU$;;< < < < < < < < < < < < < < < 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!1X!=!=XX9N
%t,BJ???~  H 68,,,Z   //F!1X!=!=RXX9N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,,,,,s   H00H47H4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t          j        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_mixedr6   `   s    
"&#tX^%5%5udAsK	
 	
 	
 E Y$$F
BFE26264P*	
 	
 	
 H 68,,,,,    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 )Nr.   r/   ccategoryr   Tr   )TFFTTF)TFFTFr   r   r   r   r    r!   r"   )r&   r(   r*   s      r+   *test_contains_na_kwarg_for_object_categoryr<   q   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,,,,,r7   zna, expected)TT)FF)r   F)   Tr   TFc                     t          ddddt          j        g|           }|j                            d||          }t          dddd|gd          }t          j        ||           d S )	Nr.   r/   r9   r   )r   r   TFr   r;   )nullable_string_dtyper   r*   r   r&   r(   s         r+   0test_contains_na_kwarg_for_nullable_string_dtyper@      sv    " S#sC08MNNNFZ  5 99FtUE4:)LLLH68,,,,,r7   c                    t          ddddddt          j        ddd	g
| 
          }|j                            d          }| dk    rdnd}t          ddddddt          j        dddg
|
          }t          j        ||           t          j        t          | dk              5  |j                            dd          }d d d            n# 1 swxY w Y   t          ddddddt          j        dddg
|
          }t          j        ||           |j                            d          }t          ddddddt          j        dddg
|
          }t          j        ||           |j                            d          }t          ddddddt          j        dddg
|
          }t          j        ||           t          j        t          | dk              5  |j                            dd          }d d d            n# 1 swxY w Y   t          ddddddt          j        dddg
|
          }t          j        ||           d S )NABCAabaBaca CABAdogcatr   r.   r   r   FTr   r   Aaba)	r   r   r   r   r    r!   r"   r$   r   r%   sr(   r)   r*   s        r+   test_contains_moarrO      s   	c3BFFE5I	 	 	A
 U^^C  F!1X!=!=XX9N	udD%tL  H 68,,,		",0AA
 
 1 1 %001 1 1 1 1 1 1 1 1 1 1 1 1 1 1 	ueT4eTJ  H 68,,,U^^D!!F	udE5"&%N  H 68,,,U^^D!!F	udE5"&%N  H 68,,,		",0AA
 
 2 2 5112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 	udD%ueL  H 68,,,,,s$   "CCCG??HHc                 H   t          t          j        t          j        t          j        g|           }|j                            dd          }| dk    rt          j        nd}t          g d|          }t          j        ||           |j                            dd          }t          g d	|          }t          j        ||           |j                            dd          }| dk    rt          g d
t          j                  }nt          g d	d          }t          j        ||           |j                            d          }| dk    rdnd}t          t          j        t          j        t          j        g|          }t          j        ||           d S )Nr   r   Fr   r   r   )FFFT)TTT)r   r   r   )	r   r   r   r   r    r#   r!   r"   r   rM   s        r+   test_contains_nanrQ      s   '/?@@@AU^^Ee^,,F!1X!=!=RXX9N+++>BBBH68,,,U^^Ed^++F(((???H68,,,U^^Ee^,,F8##///rzBBB,,,I>>>68,,,U^^E""F!1X!=!=XX9Nrvrvrv.nEEEH68,,,,,r7   r'   r   )r   bazr   r:   
null_valuer   c                    t          d|ddd|dg|          }|j                            |           }t          dt          j        dddt          j        dg          }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t          j        t          j        t          j        g	          }	t          j        ||	           d S Nomfoo_nomnombar_foor   r   FTr   r.   r/   r0   r1   f)r   r   
startswithr   r   r!   r"   r   r   r3   r   
r'   r   rS   r   r&   r(   expr5   rsxps
             r+   test_startswithr`      s`    	z9eY
EJ  F
 Z""3''F
%ueRVTB
C
CC63'''Z""32"..F
%T5%T:
;
;C63''' H	bfc4!1!15$3Gj  E 
		%	%c	*	*B	rvrvtRVRVRVT	U	UB2r"""""r7   )NTFc                 X   t          g d|           }|j                            d|          }t          d|ddd|dddg	d          }t          j        ||           |j                            d|          }t          d|ddd|dddg	d          }t          j        ||           d S 	N)	rV   NrW   rX   rY   Nr   r   rege.r   r   r   FTr   rc   )r   r   r[   r!   r"   r?   r   r&   r(   r]   s        r+   %test_startswith_nullable_string_dtypere     s    PPP#  F Z""5R"00F
	D%D%?y  C 63'''Z""7r"22F
	E5%UE4@	  C 63'''''r7   c                    t          d|ddd|dg|          }|j                            |           }t          dt          j        dddt          j        dg          }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t          j        t          j        t          j        g	          }	t          j        ||	           d S rU   )r   r   endswithr   r   r!   r"   r   r   r3   r   r\   s
             r+   test_endswithrh   &  s^    	z9eY
EJ  F
 Z  %%F
%tRVTB
C
CC63'''Z   ,,F
%UE4T:
;
;C63''' H	bfc4!1!15$3G  E 
		#	#C	(	(B	rvrvubfbfbfU	V	VB2r"""""r7   c                 X   t          g d|           }|j                            d|          }t          d|ddd|dddg	d          }t          j        ||           |j                            d|          }t          d|ddd|dddg	d          }t          j        ||           d S rb   )r   r   rg   r!   r"   rd   s        r+   #test_endswith_nullable_string_dtyperj   C  s    PPP#  F Z  2 ..F
	E5$D%?y  C 63'''Z  R 00F
	E5%UE4@	  C 63'''''r7   c                     t          dt          j        g|           }|j                            ddd          }t          dt          j        g|           }t          j        ||           d S )NfooBAD__barBADr   BAD[_]*rG   Tr   foobarr   r   r   r   replacer!   r"   r%   serr(   r*   s       r+   test_replacers   [  si    
"BF+3C
D
D
DCW__Y$_77Fx(0@AAAH68,,,,,r7   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 )Nrl   r   	foobarBADrm   rG   r0   Tnr   foo__barBADBADFro   r%   rr   r*   r(   s       r+   test_replace_max_replacementsr{   c  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,,,,,r7   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t          j        t          j        t          j        g	          }t          j        ||           d S )NaBADbBADTfooBADr0   r1   rm   rG   r   r.   r/   r   )	r   r   r   r   r3   r   rp   r!   r"   rr   r(   r*   s      r+   test_replace_mixed_objectr   o  s    
	x~'7'74CP C C[[_$$Y$$??FsBFCPRPVWXXH68,,,,,r7   c                    t          d                    d          g|           }t          d                    d          g|           }t          j        t          | dk              5  |j                            ddt          j        d	          }d d d            n# 1 swxY w Y   t          j	        ||           d S )
N   abcd,àutf-8r      abcd, àr   (?<=\w),(?=\w), Tflagsr   )
r   decoder!   r$   r   r   rp   reUNICODEr"   rz   s       r+   test_replace_unicoder   x  s   
"))'223;K
L
L
LC(//889AQRRRH		",0AA
 
 X X !2D
RVWWX X X X X X X X X X X X X X X 68,,,,,s   ))BB"%B"replr=   r.   r/   data)r.   r/   N)r.   r/   r9   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   matchr.   )pytestraises	TypeErrorr   rp   )r%   index_or_seriesr   r   msgobjs         r+   #test_replace_wrong_repl_type_raisesr     s     .C
/$&6
7
7
7C	y	,	,	, # #T"""# # # # # # # # # # # # # # # # # #s   AAAc                 R   t          dt          j        g|           }d }t          j        t
          | dk              5  |j                            d|dd          }d d d            n# 1 swxY w Y   t          d	t          j        g|           }t          j        ||           d S )
Nrl   r   c                 P    |                      d                                          S Nr   groupswapcasems    r+   <lambda>z'test_replace_callable.<locals>.<lambda>      QWWQZZ((** r7   r   [a-z][A-Z]{2}   Trv   foObaD__baRbaD	r   r   r   r!   r$   r   r   rp   r"   )r%   rr   r   r(   r*   s        r+   test_replace_callabler     s    
"BF+3C
D
D
DC +*D		",0AA
 
 I I $!4HHI I I I I I I I I I I I I I I '08HIIIH68,,,,,s   A**A.1A.c                      d S N r   r7   r+   r   r     s    T r7   c                     d S r   r   )r   xs     r+   r   r     s     r7   c                     d S r   r   )r   r   ys      r+   r   r     s    4 r7   c                 R   t          dt          j        g|           }d}t          j        t
          |          5  t          j        t          | dk              5  |j	        
                    d|d           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )	Nrl   r   zO((takes)|(missing)) (?(2)from \d+ to )?\d+ (?(3)required )positional arguments?r   r   r.   Tr   )r   r   r   r   r   r   r!   r$   r   r   rp   )r%   r   r&   r   s       r+   test_replace_callable_raisesr     s7   
 %rv.6FGGGF	0  
y	,	,	, 6 6& 04E E
 
 	6 	6 JsD555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	66 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6s5   BB8BB	BB	BB #B c                 T   t          dt          j        g|           }d}d }t          j        t
          | dk              5  |j                            ||d          }d d d            n# 1 swxY w Y   t          dt          j        g|           }t          j        ||           d S )	NzFoo Bar Bazr   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 r7   r   Tr   bARr   )r%   rr   r'   r   r(   r*   s         r+   "test_replace_callable_named_groupsr     s    
-(0@
A
A
AC
9C11D		",0AA
 
 8 8 d$778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 ubfo-=>>>H68,,,,,s   A++A/2A/c                 ~   t          dt          j        g|           }t          j        d          }t          j        t          | dk              5  |j        	                    |dd          }d d d            n# 1 swxY w Y   t          dt          j        g|           }t          j
        ||           t          j        t          | dk              5  |j        	                    |dd	d
          }d d d            n# 1 swxY w Y   t          dt          j        g|           }t          j
        ||           d S )Nrl   r   BAD_*r   rG   Tr   rn   r0   rv   ru   r   r   r   r   compiler!   r$   r   r   rp   r"   )r%   rr   r'   r(   r*   s        r+   test_replace_compiled_regexr     s   
"BF+3C
D
D
DC *X

C		",0AA
 
 6 6 b556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 x(0@AAAH68,,,		",0AA
 
 ; ; bAT::; ; ; ; ; ; ; ; ; ; ; ; ; ; ; {BF+3CDDDH68,,,,,s$   A::A>A>D  DD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t          j        t          j        t          j        g	          }t          j
        ||           d S )Nr   r}   r~   Tr   r0   r1   rG   r   r.   r/   r   )r   r   r   r   r   r   r3   r   rp   r!   r"   )r'   rr   r(   r*   s       r+   (test_replace_compiled_regex_mixed_objectr     s    
*X

C
	x~'7'74CP C C[[_$$S"D$99FsBFCPRPVWXXH68,,,,,r7   c                    t          d                    d          g|           }t          d                    d          g|           }t          j        dt          j                  }t          j        t          | dk              5  |j        	                    |dd	
          }d d d            n# 1 swxY w Y   t          j
        ||           d S )Nr   r   r   r   r   r   r   r   Tr   )r   r   r   r   r   r!   r$   r   r   rp   r"   )r%   rr   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		",0AA
 
 8 8 d$778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 68,,,,,s   	B33B7:B7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 regexr   rG   Tr   Fr   r   )r   r   r   r   r   r   r   
ValueErrorr   rp   
IGNORECASEr%   rr   r'   r   s       r+   "test_replace_compiled_regex_raisesr     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                 z   t          dt          j        g|           }d }t          j        d          }t          j        t          | dk              5  |j        	                    ||dd          }d d d            n# 1 swxY w Y   t          d	t          j        g|           }t          j
        ||           d S )
Nrl   r   c                 P    |                      d                                          S r   r   r   s    r+   r   z6test_replace_compiled_regex_callable.<locals>.<lambda>  r   r7   r   r   r   Trv   r   r   )r%   rr   r   r'   r(   r*   s         r+   $test_replace_compiled_regex_callabler     s    
"BF+3C
D
D
DC**D
*_
%
%C		",0AA
 
 = = dat<<= = = = = = = = = = = = = = = '08HIIIH68,,,,,s   A>>BBzregex,expectedbaoc                     t          ddt          j        g|          }t          ||          }|j                            dd|           }t          j        ||           d S )Nzf.or   r   zf.rL   r   ro   )r   r*   r%   rr   r(   s        r+   test_replace_literalr     se    
 %'/?
@
@
@Ch&6777HW__T4u_55F68,,,,,r7   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>  r   r7   z2Cannot use a callable replacement when regex=Falser   abcFr   )r   r   r   r   r   rp   )r%   rr   r   r   s       r+   $test_replace_literal_callable_raisesr     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=Falser   rG   Fr   )r   r   r   r   r   r   r   rp   r   s       r+   $test_replace_literal_compiled_raisesr     s    
+
,
,
,C
*_
%
%C
OC	z	-	-	- . .Ru---. . . . . . . . . . . . . . . . . .s   A..A25A2c                 0   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        ||           t          j        t          | dk              5  |j                            ddd          }d d d            n# 1 swxY w Y   t          ddddddt          j        dddg
| 
          }t          j        ||           t          j        t          | dk              5  |j                            dddd          }d d d            n# 1 swxY w Y   t          ddddddt          j        dddg
| 
          }t          j        ||           d S )NrB   rC   rD   rE   rF   rG   rH   rI   rJ   r   YYYYYYabaCYYYBYYYr   Fr   
YYYYYYbYYYBYYYcYYYcYYYtz^.a|dogzXX-XX Tr   zXX-XX bazXX-XX cazXX-XX BAzXX-XX t)	r   r   r   r   rp   r!   r"   r$   r   rq   s       r+   test_replace_moarr      sq   
	c3BFFE5I  C
 W__S%((F	S(FB
E5Q  H 68,,,		",0AA
 
 9 9 e%889 9 9 9 9 9 9 9 9 9 9 9 9 9 9 F	
   H 68,,,		",0AA
 
 N N H5MMN N N N N N N N N N N N N N N F	
   H 68,,,,,s$   CC
C&EEEc                 j   t          ddddt          j        g|           }t          j        t
          | dk              5  |j                            ddd	d	
          }d d d            n# 1 swxY w Y   t          ddddt          j        g|           }t          j        ||           t          j        t
          | dk              5  |j                            ddd	d	
          }d d d            n# 1 swxY w Y   t          ddddt          j        g|           }t          j        ||           d S )NzA.za.Ababr   r   r.   r9   Fr   zc.cbr   rq   s       r+   )test_replace_not_case_sensitive_not_regexr   Y  s   
$dD"&19I
J
J
JC		",0AA
 
 D D cUCCD D D D D D D D D D D D D D D tT4rv6>NOOOH68,,,		",0AA
 
 F F t%uEEF F F F F F F F F F F F F F F tT4rv6>NOOOH68,,,,,s#   A**A.1A.C33C7:C7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 )	Nr.   r/   acrG   r   z^.$Tr   ro   )r%   rN   r(   r*   s       r+   test_replace_regexr   l  st    S$+3CDDDAU]]5#T]22FsCrvr2:JKKKH68,,,,,r7   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.r/   rG   r   r.   r   aaaaabro   )r   r%   rN   r(   r*   s        r+   #test_replace_regex_single_characterr   t  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,,,,,r7   c                    | dk    rdnd}t          dt          j        dg|           }|j                            d          }t          dt          j        dg|          }t          j        ||           t          dd	t          j        dg|           }|j                            d
          }t          ddt          j        dg|          }t          j        ||           |j                            d          }t          ddt          j        dg|          }t          j        ||           t          ddt          j        dg|           }|j                            d          }t          ddt          j        dg|          }t          j        ||           |j                            d          }t          ddt          j        dg|          }t          j        ||           d S )Nr   r   rl   r   r   .*(BAD[_]+).*(BAD)TFBAD_BADleroybrown.*BAD[_]+.*BADzBAD[_]+.*BADz^BAD_BADleroybrownz^BAD[_]+.*BADz\^BAD[_]+.*BAD)r   r   r   r   r   r!   r"   )r%   r)   r&   r(   r*   s        r+   
test_matchr     s   !1X!=!=XX9N%rvu5=MNNNFZ233FtRVU+>BBBH68,,,	.>FV  F Z.//FtT2651HHHH68,,,Zn--FudBFE2.IIIH68,,,	/?GW  F Zo..FueRVU3>JJJH68,,,Z/00FudBFE2.IIIH68,,,,,r7   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t          j        t          j        t          j        g	          }t          |t                     sJ t          j	        ||           d S )	NaBAD_BAD	BAD_b_BADTr   r0   r1   r   F)
r   r   r   r   r3   r   r   
isinstancer!   r"   r4   s      r+   test_match_mixed_objectr     s    FN
	
 E E]]$$%9::F	rvtRVRVUBFBFBFK H ff%%%%%68,,,,,r7   c                    t          ddt          j        g|           }|j                            dd          }| dk    rt          j        nd}t          g d|          }t          j        ||           |j                            d          }| dk    rdnd}t          d	dt          j        g|          }t          j        ||           d S )
Nr.   r/   r   Fr   r   r   )TFFT)r   r   r   r   r   r#   r!   r"   rM   s        r+   test_match_na_kwargr     s    S"&!)9:::AU[[[''F!1X!=!=RXX9N***.AAAH68,,,U[[F!1X!=!=XX9NtUBF+>BBBH68,,,,,r7   c                 H   t          g d|           }t          j        t          | dk              5  |j                            dd          }d d d            n# 1 swxY w Y   | dk    rt          j        nd}t          g d	|          }t          j        ||           d S )
Nr   ABr   ABCr   r   r   Fr   r   r   )TTTT)	r   r!   r$   r   r   r   r   r#   r"   )r%   r&   r(   r)   r*   s        r+   test_match_case_kwargr     s    ...6FGGGF		",0AA
 
 4 4 !!$U!334 4 4 4 4 4 4 4 4 4 4 4 4 4 4 "2X!=!=RXX9N...nEEEH68,,,,,s   AA"Ac                     t          ddt          j        dg|           }|j                            d          }| dk    rdnd}t          dd	t          j        d	g|          }t          j        ||           d S )
Nrl   r   r   r   r   r   r   TF)r   r   r   r   	fullmatchr!   r"   r%   rr   r(   r)   r*   s        r+   test_fullmatchr     s    
	.>FV  C W/00F!1X!=!=XX9NtUBFE2.IIIH68,,,,,r7   c                     t          ddt          j        dg|           }|j                            dd          }| dk    rt          j        nd	}t          g d
|          }t          j        ||           d S )Nrl   r   r   r   r   Fr   r   r   TFFF)r   r   r   r   r   r#   r!   r"   r   s        r+   test_fullmatch_na_kwargr    s    
	.>FV  C W/E::F!1X!=!=RXX9N111HHHH68,,,,,r7   c                    t          g d|           }| dk    rt          j        nd}t          g d|          }|j                            dd          }t          j        ||           t          g d	|          }t          j        t          | d
k              5  |j                            dd          }d d d            n# 1 swxY w Y   t          j        ||           t          j        t          | d
k              5  |j                            dt          j
                  }d d d            n# 1 swxY w Y   t          j        ||           d S )Nr   r   r   r   r   r   Tr   )TTFFr   Fr   )r   r   r#   r   r   r!   r"   r$   r   r   r   )r%   rr   r)   r*   r(   s        r+   test_fullmatch_case_kwargr    s   
+++3C
D
D
DC!1X!=!=RXX9N111HHHHWt$//F68,,,000GGGH		",0AA
 
 5 5 ""4e"445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 68,,,		",0AA
 
 > > ""4r}"==> > > > > > > > > > > > > > > 68,,,,,s$   CC
C
'D77D;>D;c                     t          dt          j        ddg|           }|j                            d          }t          ddgt          j        g dgg          }t          j        ||           d S )Nrl   r   ry   r   rm   BAD__)r   r   r   r   findallr!   r"   rq   s       r+   test_findallr    sl    
"BFE59AQ
R
R
RCW__Y''F'eW=>>H68,,,,,r7   c                  x   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t          j        t          j        t          j        g	          }t          j        ||           d S )	Nrl   r   Try   r0   r1   rm   r  )	r   r   r   r   r3   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F
	
 H 68,,,,,r7   c                    t          g d|           }| dk    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   r   Int64EF)   r=   r0   r   c                 8    g | ]}|                     d           S r  find.0vs     r+   
<listcomp>ztest_find.<locals>.<listcomp>D  s"    ===!===r7   )r        r  r  c                 8    g | ]}|                     d           S r  rfindr  s     r+   r  ztest_find.<locals>.<listcomp>J  s"    >>>1>>>r7   r=   )r  r=   r  r  r  c                 :    g | ]}|                     d d          S r  r=   r  r  s     r+   r  ztest_find.<locals>.<listcomp>P  s$    @@@Qa@@@r7   c                 :    g | ]}|                     d d          S r"  r  r  s     r+   r  ztest_find.<locals>.<listcomp>V  s&    AAAaq))AAAr7      )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Cr7   c                 <    g | ]}|                     d dd          S r&  r  r  s     r+   r  ztest_find.<locals>.<listcomp>b  s(    DDDq!,,DDDr7   )
r   r   int64r   r  r!   r"   r   assert_numpy_array_equalr   r%   rr   r)   r(   r*   s        r+   	test_findr+  ;  s   
===EU  C "2X!=!=RXX7N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Kr7   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 intr   r   )r   r   r   r   r   r  r   )r%   rr   s     r+   test_find_bad_arg_raisesr-  f  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|           }| dk    rt          j        nd}|j                            d          }t          dt          j        d	t          j        d
g|          }t          j        ||           |j                            d          }t          dt          j        dt          j        d
g|          }t          j        ||           |j                            dd          }t          dt          j        dt          j        d
g|          }t          j        ||           |j                            dd          }t          dt          j        dt          j        d
g|          }t          j        ||           |j                            ddd          }t          dt          j        d
t          j        d
g|          }t          j        ||           |j                            ddd          }t          dt          j        d
t          j        d
g|          }t          j        ||           d S )Nr  r  r  r   r   r  r  r  r0   r  r  r=   r$  )	r   r   r   float64r   r  r!   r"   r   r*  s        r+   test_find_nanr0  o  s   
	BFK8@P  C $4x#?#?RZZWNW\\$Fq"&!RVR0GGGH68,,,W]]4  Fq"&!RVR0GGGH68,,,W\\$""Fq"&!RVR0GGGH68,,,W]]4##Fq"&!RVR0GGGH68,,,W\\$1%%Fq"&"bfb1HHHH68,,,W]]4A&&Fq"&"bfb1HHHH68,,,,,r7   c                      | 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   tabler(   r*   s         r+   test_translater?    s    
/0008H  C MM%''EWu%%F0008H  H OFH%%%%%r7   c                      t          g d          } t                              dd          }t          dddt          j        g          }| j                            |          }t          j        ||           d S )N)r.   r/   r9   g333333?r   r6  r9   de)r   r   r;  r   r   r<  r!   r"   )rN   r>  r*   r(   s       r+   test_translate_mixed_objectrC    sm    ###$$AMM%''EsCbf-..HU__U##F68,,,,,r7   c                 (   dddt           j        d}t          ||           }d}| dk    }|j                            |t
          j        d	          }|j        d
                                         g dk    sJ t          j
        t          |          5  |j                            |t
          j                  }d d d            n# 1 swxY w Y   |d
         sJ t          j
        t          |          5  |j                            |t
          j                  }d d d            n# 1 swxY w Y   |d
         sJ |j                            |t
          j                  }|d
         d
         dk    sJ |j                            |t
          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   |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})r   T)r   expandr   )davegooglecomr   r0   zhas match groups)r   raise_on_extra_warnings)r   r   r   r   extractr   r   iloctolistr!   r$   r   r   r   r  countassert_produces_warningUserWarningr    )r%   r   r'   using_pyarrowr(   r   s         r+   test_flags_kwargrU    s   !"v	 D $.///D
9C$(99MXctDDF;q>  ""&?&?&?????		"#5}	E	E : :2=99: : : : : : : : : : : : : : :!9		"#5}	E	E > >##Cr}#==> > > > > > > > > > > > > > >!9Xc77F!9Q<44444X^^Cr}^55F!9>>>>
C		#3M8I
 
 
 = = ""3bm"<<= = = = = = = = = = = = = = = !9s6   'CC
C
5'D((D,/D,
'G==HHr   )=r   r   numpyr   r   pandas.errorsr   pandaspdr   r   r!   r,   r6   r<   markparametrizeNAr   r@   rO   rQ   r`   re   rh   rj   rs   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r	  r+  r-  r0  r?  rC  rU  r   r7   r+   <module>r]     s
         				      , , , , , ,           I- I- I-X- - -"- - -0 	ru	
 
 4-00- - 10
 
-/- /- /-d- - ->  7884"455bfbe'<==e}--# # .- >= 65 98#2 22233( ( 43(.  7884"455bfbe'<==e}--# # .- >= 65 98#2 22233( ( 43(.- - -	- 	- 	-- - -- - - $C:!677"2"2"24I4I4I!JKK# # LK 87#- - - 
\\,,.G.G.GH 6 6 6 
- 
- 
-- - -*- - -- - -8 8 8$
- 
- 
- ueRV45ubf?U7VW - - -2 2 2. . .6- 6- 6-r- - -&- - - 4-00
- 
- 10
-$- - -@- - -,- - -- - - - - -- - -- - -:- - -- - -L(L (L (LV  - - -H	& 	& 	&- - -# # # # #r7   