
    [6gȈ              
       L   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 d dlmZmZ d 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/ d0 dUd1g          d2             Z(d3 Z)d4 Z*d5 Z+d6 Z,d7 Z-d8 Z.ej                            d9dd:d:ej        gfdd:dej        gfg          d;             Z/d< Z0d= Z1d> Z2d? Z3d@ Z4ej                            dddg          dA             Z5dB Z6dC Z7dD Z8dE Z9dF Z:dG Z;dH Z<dI Z=dJ Z>dK Z?dL Z@dM ZAdN ZBej                            dOd ejC        d e
jD        dP          Q          g          dR             ZEdS ZFdT ZGdS )V    )datetimeN)PerformanceWarning)Series_testing)_convert_na_valueobject_pyarrow_numpyc                 
    | dv S )N)zstring[pyarrow]string[pyarrow_numpy] dtypes    e/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/pandas/tests/strings/test_find_replace.pyusing_pyarrowr      s    @@@    c           	         t          j        dt           j        dddgt           j                  }t	          ||           }d}|j                            |          }| t          v 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                            |          }| t          v 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                            |          }| t          v rdnd}t	          t          j        d	t           j        d
d
gt           j                  |          }t          j	        ||           |j                            |d	          }| t          v 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[_]+barr   zmmm[_]+objectbooleanFTregex)r   xyzr   r   )FFTT)FooxYzfOOomMm__fOoMMM_zFOO|mmmcase)TFTT)r   r   )TFTFna)nparraynanobject_r   strcontainsr   tmassert_series_equalr   bool_)any_string_dtypevaluespatresultexpected_dtypeexpecteds         r   test_containsr1      s+   X	@
  F F"2333F
CZ  %%F!15I!I!IXXyN
%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!15I!I!IRXXyN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!15I!I!IXXyN
%t,BJ???~  H 68,,,Z   //F!15I!I!IRXXyN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,,,,,r   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.   r0   s      r   test_contains_object_mixedr;   g   s    
"&#tX^%5%5udAsK	
 	
 	
 E Y$$F
BFE26264rvrvN*	
 	
 	
 H 68,,,,,r   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 )Nr3   r4   ccategoryr   Tr    )TFFTTF)TFFTFr   r"   r$   r&   r'   r(   r)   )r,   r.   r0   s      r   *test_contains_na_kwarg_for_object_categoryr@   x   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,,,,,r   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 )	Nr3   r4   r=   r   )r!   r   TFr   r?   )nullable_string_dtyper!   r0   r   r,   r.   s         r   0test_contains_na_kwarg_for_nullable_string_dtyperD      sv    " S#sC08MNNNFZ  5 99FtUE4:)LLLH68,,,,,r   c                    t          ddddddt          j        ddd	g
| 
          }|j                            d          }| t
          v rdnd}t          ddddddt          j        dddg
|
          }t          j        ||           |j                            d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        ||           |j                            d          }t          ddddddt          j        dddg
|
          }t          j        ||           |j                            dd          }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   r3   r   r   FTr   Aaba)r   r"   r$   r&   r'   r   r(   r)   r+   sr.   r/   r0   s        r   test_contains_moarrS      s   	c3BFFE5I	 	 	A
 U^^C  F!15I!I!IXXyN	udD%tL  H 68,,,U^^Ce^,,F	ueT4eTJ  H 68,,,U^^D!!F	udE5"&%N  H 68,,,U^^D!!F	udE5"&%N  H 68,,,U^^Du^--F	udD%ueL  H 68,,,,,r   c                    t          t          j        t          j        t          j        g|           }|j                            dd          }| t
          v 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	                  }n7| dk    rt          g dt          j                  }nt          g dd          }t          j        ||           |j                            d          }| t
          v rd	nd}t          t          j        t          j        t          j        g|          }t          j        ||           d S )Nr   r   Fr    r   )FFFT)TTTr   )r   r   r   r
   )
r   r"   r$   r&   r'   r   r*   r(   r)   r%   rQ   s        r   test_contains_nanrU      s   '/?@@@AU^^Ee^,,F!15I!I!IRXXyN+++>BBBH68,,,U^^Ed^++F(((???H68,,,U^^Ee^,,F8##///rzBBB	4	4	4,,,BH===,,,I>>>68,,,U^^E""F!15I!I!IXXyNrvrvrv.nEEEH68,,,,,r   r-   r   )r   bazr   r   r>   
null_valuer!   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|                    |          }n|d	k    r|d ||                                <   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 Nomfoo_nomnombar_foor   r   FTr   r    r3   r4   r5   r6   f)r   r&   
startswithr"   r$   pdNAfillnaisnar(   r)   r#   r   r8   r%   
r-   r   rW   r!   r,   r.   expr:   rsxps
             r   test_startswithrh      s    	z9eY
EJ  F
 Z""3''F
%ueRVTB
C
CCZ2500jj$$	(		z1CHHJJ63'''Z""32"..F
%T5%T:
;
;C63''' H	bfc4!1!15$3Gj  E 
		%	%c	*	*B	rvrvtT2626R	S	SB2r"""""r   )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)	rZ   Nr[   r\   r]   Nr   r   rege.r   r   r    FTr   rk   )r   r&   r_   r(   r)   rC   r!   r,   r.   re   s        r   %test_startswith_nullable_string_dtyperm     s    PPP#  F Z""5R"00F
	D%D%?y  C 63'''Z""7r"22F
	E5%UE4@	  C 63'''''r   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|                    |          }n|d	k    r|d ||                                <   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 rY   )r   r&   endswithr"   r$   r`   ra   rb   rc   r(   r)   r#   r   r8   r   rd   s
             r   test_endswithrp   .  s    	z9eY
EJ  F
 Z  %%F
%tRVTB
C
CCZ2500jj$$	(		z1CHHJJ63'''Z   ,,F
%UE4T:
;
;C63''' H	bfc4!1!15$3G  E 
		#	#C	(	(B	rvrvudBFBFS	T	TB2r"""""r   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 rj   )r   r&   ro   r(   r)   rl   s        r   #test_endswith_nullable_string_dtyperr   P  s    PPP#  F Z  2 ..F
	E5$D%?y  C 63'''Z  R 00F
	E5%UE4@	  C 63'''''r   c                     t          dt          j        g|           }|j                            ddd          }t          dt          j        g|           }t          j        ||           d S )NfooBAD__barBADr   BAD[_]*rK   Tr   foobarr   r"   r$   r&   replacer(   r)   r+   serr.   r0   s       r   test_replacer{   h  si    
"BF+3C
D
D
DCW__Y$_77Fx(0@AAAH68,,,,,r   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 )Nrt   r   	foobarBADru   rK   r5   Tnr   foo__barBADBADFrw   r+   rz   r0   r.   s       r   test_replace_max_replacementsr   p  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,,,,,r   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fooBADr5   r6   ru   rK   r   r3   r4   r   r   )
r   r"   r$   r   r8   r&   rx   r   r(   r)   rz   r.   r0   s      r   test_replace_mixed_objectr   |  s    
	x~'7'74CP C C[[_$$Y$$??F	bfc26265$Gv  H 68,,,,,r   c                    t          d                    d          g|           }t          d                    d          g|           }t          j        t          t          |                     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, à(?<=\w),(?=\w), Tflagsr   )r   decoder(   maybe_produces_warningr   r   r&   rx   reUNICODEr)   r   s       r   test_replace_unicoder     s   
"))'223;K
L
L
LC(//889AQRRRH		"#5}EU7V7V	W	W X X!2D
RVWWX X X X X X X X X X X X X X X68,,,,,s   2)B''B+.B+replrA   r3   r4   data)r3   r4   N)r3   r4   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   matchr3   )pytestraises	TypeErrorr&   rx   )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                 d   t          dt          j        g|           }d }t          j        t
          t          |                     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 )	Nrt   r   c                 P    |                      d                                          S Nr   groupswapcasems    r   <lambda>z'test_replace_callable.<locals>.<lambda>      QWWQZZ((** r   [a-z][A-Z]{2}   Tr~   foObaD__baRbaD
r   r"   r$   r(   r   r   r   r&   rx   r)   )r+   rz   r   r.   r0   s        r   test_replace_callabler     s    
"BF+3C
D
D
DC +*D		"#5}EU7V7V	W	W 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   A33A7:A7c                      d S Nr   r   r   r   r   r     s    T r   c                     d S r   r   )r   xs     r   r   r     s     r   c                     d S r   r   )r   r   ys      r   r   r     s    4 r   c                 d   t          dt          j        g|           }d}t          j        t
          |          5  t          j        t          t          |                     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 )Nrt   r   zO((takes)|(missing)) (?(2)from \d+ to )?\d+ (?(3)required )positional arguments?r   r3   Tr   )r   r"   r$   r   r   r   r(   r   r   r   r&   rx   )r+   r   r,   r   s       r   test_replace_callable_raisesr     s9   
 %rv.6FGGGF	0  
y	,	,	, 6 6&.> ? ?
 
 	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B%B	B%B	B%%B),B)c                 f   t          dt          j        g|           }d}d }t          j        t
          t          |                     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 r   Tr   bARr   )r+   rz   r-   r   r.   r0   s         r   "test_replace_callable_named_groupsr     s    
-(0@
A
A
AC
9C11D		"#5}EU7V7V	W	W 8 8d$778 8 8 8 8 8 8 8 8 8 8 8 8 8 8ubfo-=>>>H68,,,,,s   
A44A8;A8c                    t          dt          j        g|           }t          j        d          }t          j        t          t          |                     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          t          |                     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 )Nrt   r   BAD_*rK   Tr   rv   r5   r~   r}   r   r"   r$   r   compiler(   r   r   r   r&   rx   r)   )r+   rz   r-   r.   r0   s        r   test_replace_compiled_regexr     s   
"BF+3C
D
D
DC *X

C		"#5}EU7V7V	W	W 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,,,		"#5}EU7V7V	W	W ; ;bAT::; ; ; ; ; ; ; ; ; ; ; ; ; ; ;{BF+3CDDDH68,,,,,s$   BB
B'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d t          j        t          j        g	t                    }t          j        ||           d S )Nr   r   r   Tr   r5   r6   rK   r   r3   r4   r   r   )r   r   r   r"   r$   r   r8   r&   rx   r   r(   r)   )r-   rz   r.   r0   s       r   (test_replace_compiled_regex_mixed_objectr     s    
*X

C
	x~'7'74CP C C[[_$$S"D$99F	bfc26265$Gv  H 68,,,,,r   c                    t          d                    d          g|           }t          d                    d          g|           }t          j        dt          j                  }t          j        t          t          |                     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   Tr   )r   r   r   r   r   r(   r   r   r   r&   rx   r)   )r+   rz   r0   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		"#5}EU7V7V	W	W 8 8d$778 8 8 8 8 8 8 8 8 8 8 8 8 8 868,,,,,s   B<<C C 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   rK   Tr   Fr   r   )r   r"   r$   r   r   r   r   
ValueErrorr&   rx   
IGNORECASEr+   rz   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                    t          dt          j        g|           }d }t          j        d          }t          j        t          t          |                     5  |j	        
                    ||dd          }d d d            n# 1 swxY w Y   t          dt          j        g|           }t          j        ||           d S )	Nrt   r   c                 P    |                      d                                          S r   r   r   s    r   r   z6test_replace_compiled_regex_callable.<locals>.<lambda>  r   r   r   r   Tr~   r   r   )r+   rz   r   r-   r.   r0   s         r   $test_replace_compiled_regex_callabler     s    
"BF+3C
D
D
DC**D
*_
%
%C		"#5}EU7V7V	W	W = =dat<<= = = = = = = = = = = = = = ='08HIIIH68,,,,,s   B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.rP   r   rw   )r   r0   r+   rz   r.   s        r   test_replace_literalr     se    
 %'/?
@
@
@Ch&6777HW__T4u_55F68,,,,,r   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   r   z2Cannot use a callable replacement when regex=Falser   abcFr   )r   r   r   r   r&   rx   )r+   rz   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   rK   Fr   )r   r   r   r   r   r   r&   rx   r   s       r   $test_replace_literal_compiled_raisesr     s    
+
,
,
,C
*_
%
%C
OC	z	-	-	- . .Ru---. . . . . . . . . . . . . . . . . .s   A..A25A2c                 T   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          t          |                     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          t          |                     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 )NrF   rG   rH   rI   rJ   rK   rL   rM   rN   r   YYYYYYabaCYYYBYYYFr   
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&   rx   r(   r)   r   r   r   ry   s       r   test_replace_moarr   #  se   
	c3BFFE5I  C
 W__S%((F	S(FB
E5Q  H 68,,,		"#5}EU7V7V	W	W 9 9e%889 9 9 9 9 9 9 9 9 9 9 9 9 9 9F	
   H 68,,,		"#5}EU7V7V	W	W 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8E##E'*E'c                    t          ddddt          j        g|           }t          j        t
          t          |                     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
          t          |                     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   r3   r=   Fr   zc.cbr   ry   s       r   )test_replace_not_case_sensitive_not_regexr   X  s   
$dD"&19I
J
J
JC		"#5}EU7V7V	W	W 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,,,		"#5}EU7V7V	W	W 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$   A33A7:A7DD	D	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 )	Nr3   r4   acrK   r   z^.$Tr   rw   )r+   rR   r.   r0   s       r   test_replace_regexr   g  st    S$+3CDDDAU]]5#T]22FsCrvr2:JKKKH68,,,,,r   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.r4   rK   r   r3   r   aaaaabrw   )r   r+   rR   r.   r0   s        r   #test_replace_regex_single_characterr   o  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,,,,,r   c                    | t           v 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   rt   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.   r0   s        r   
test_matchr     s   !15I!I!IXXyN%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,,,,,r   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   r5   r6   r   F)
r   r"   r$   r   r8   r&   r   
isinstancer(   r)   r9   s      r   test_match_mixed_objectr     s    FN
	
 E E]]$$%9::FtRVT26265$PRPVWXXHff%%%%%68,,,,,r   c                    t          ddt          j        g|           }|j                            dd          }| t
          v rt          j        nd}t          g d|          }t          j        ||           |j                            d          }| t
          v rdnd}t          d	dt          j        g|          }t          j        ||           d S )
Nr3   r4   r   Fr    r   )TFFr   T)	r   r"   r$   r&   r   r   r*   r(   r)   rQ   s        r   test_match_na_kwargr     s    S"&!)9:::AU[[[''F!15I!I!IRXXyN***.AAAH68,,,U[[F!15I!I!IXXyNtUBF+>BBBH68,,,,,r   c                     t          g d|           }|j                            dd          }| t          v rt          j        nd}t          g d|          }t          j        ||           d S )Nr   ABr   ABCr   r   Fr   r   )TTTT)r   r&   r   r   r"   r*   r(   r)   )r+   r,   r.   r/   r0   s        r   test_match_case_kwargr    s~    ...6FGGGFZd//F!15I!I!IRXXyN...nEEEH68,,,,,r   c                     t          ddt          j        dg|           }|j                            d          }| t
          v rdnd}t          dd	t          j        d	g|          }t          j        ||           d S )
Nrt   r   r   r   r   r   r   TFr   r"   r$   r&   	fullmatchr   r(   r)   r+   rz   r.   r/   r0   s        r   test_fullmatchr    s    
	.>FV  C W/00F!15I!I!IXXyNtUBFE2.IIIH68,,,,,r   c                     t          ddt          j        dg|           }|j                            d          }| t
          v rdnd}t          ddt          j        d	g|          }t          j        ||           d S )
Nr   zfoo$foozfoo$r   zfoo\$r   r   FTr  r  s        r   test_fullmatch_dollar_literalr	    s    
%BFF3;K
L
L
LCWx((F!15I!I!IXXyNueRVT2.IIIH68,,,,,r   c                     t          ddt          j        dg|           }|j                            dd          }| t
          v rt          j        nd}t          g d	|          }t          j        ||           d S )
Nrt   r   r   r   r   Fr    r   TFFF)	r   r"   r$   r&   r  r   r*   r(   r)   r  s        r   test_fullmatch_na_kwargr    s    
	.>FV  C W/E::F!15I!I!IRXXyN111HHHH68,,,,,r   c                 ^   t          g d|           }| t          v rt          j        nd}t          g d|          }|j                            dd          }t          j        ||           t          g d|          }|j                            dd	          }t          j        ||           t          j        t          t          |                     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   Tr   )TTFFFr   )r   r   r"   r*   r&   r  r(   r)   r   r   r   r   r   )r+   rz   r/   r0   r.   s        r   test_fullmatch_case_kwargr    se   
+++3C
D
D
DC!15I!I!IRXXyN111HHHHWt$//F68,,,000GGGHWt%00F68,,,		"#5}EU7V7V	W	W > >""4r}"==> > > > > > > > > > > > > > >68,,,,,s   'DDD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 )Nrt   r   r   r   ru   BAD__)r   r"   r$   r&   findallr   r(   r)   ry   s       r   test_findallr    s{    
"BFE59AQ
R
R
RCW__Y''F'eW=>>H h//H68,,,,,r   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 )	Nrt   r   Tr   r5   r6   ru   r  )	r   r"   r$   r   r8   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,,,,,r   c                    t          g d|           }| t          v 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)   rA   r5   r   c                 8    g | ]}|                     d           S r  find.0vs     r   
<listcomp>ztest_find.<locals>.<listcomp>?  s"    ===!===r   )r        r  r  c                 8    g | ]}|                     d           S r   rfindr#  s     r   r&  ztest_find.<locals>.<listcomp>E  s"    >>>1>>>r   rA   )r  rA   r(  r  r  c                 :    g | ]}|                     d d          S r  rA   r!  r#  s     r   r&  ztest_find.<locals>.<listcomp>K  s$    @@@Qa@@@r   c                 :    g | ]}|                     d d          S r-  r*  r#  s     r   r&  ztest_find.<locals>.<listcomp>Q  s&    AAAaq))AAAr      )r  rA   r  r  r  c                 <    g | ]}|                     d dd          S r  rA   r/  r!  r#  s     r   r&  ztest_find.<locals>.<listcomp>W  s(    CCCa++CCCr   c                 <    g | ]}|                     d dd          S r1  r*  r#  s     r   r&  ztest_find.<locals>.<listcomp>]  s(    DDDq!,,DDDr   )r   r   r"   int64r&   r"  r(   r)   r#   assert_numpy_array_equalr+  r+   rz   r/   r.   r0   s        r   	test_findr6  6  s   
===EU  C "25I!I!IRXXwN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Kr   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+   rz   s     r   test_find_bad_arg_raisesr8  a  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          v 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  r5   r  r(  rA   r/  )
r   r"   r$   r   float64r&   r"  r(   r)   r+  r5  s        r   test_find_nanr;  j  s    
	BFK8@P  C $47K#K#KRZZQXN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,,,,,r   infer_stringpyarrow)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.   r0   s          r   test_translaterM    s     /0008H  C MM%''EWu%%F0008H  H OFH%%%%%r   c                     t          g d          } t                              dd          }t          dddt          j        gt
                    }| j                            |          }t          j        ||           d S )N)r3   r4   r=   g333333?r   rD  r=   der   )	r   r&   rI  r"   r$   r   rJ  r(   r)   )rR   rL  r0   r.   s       r   test_translate_mixed_objectrQ    sr    ###$$AMM%''EsCbf-V<<<HU__U##F68,,,,,r   c                 l   dddt           j        d}t          ||           }d}t          |           }|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   |j        d	         sJ t          j        t          |          5  |j                            |t          j                  }d d d            n# 1 swxY w Y   |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)r   expandr   )davegooglecomr   r5   zhas match groups)r   raise_on_extra_warnings)r"   r$   r   r   r&   extractr   r   iloctolistr(   r   r   r   r  r  countassert_produces_warningUserWarningr'   )r+   r   r-   use_pyarrowr.   r   s         r   test_flags_kwargrc    s   !"v	 D $.///D
9C 011KXctDDF;q>  ""&?&?&?????		"#5{	C	C : :2=99: : : : : : : : : : : : : : :;q>		"#5{	C	C > >##Cr}#==> > > > > > > > > > > > > > >;q>Xc77F;q>! 99999X^^Cr}^55F;q>Q
C		#3K
 
 
 = = ""3bm"<<= = = = = = = = = = = = = = = ;q>s6   'CCC'D66D:=D:''HH!Hr   )Hr   r   numpyr"   r   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorstdpandasr`   r   r   r(   pandas.tests.stringsr   r   r   r1   r;   r@   markparametrizera   r$   rD   rS   rU   rh   rm   rp   rr   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  r6  r8  r;  param
skip_if_norM  rQ  rc  r   r   r   <module>rp     s         				      , , , , , , ) ) ) ) ) ) ) ) )                  A A AG- G- G-T- - -"- - -0 	ru	
 
 4-00- - 10
 
-)- )- )-X- - -B  7888Z"899bfbe'<==e}--# # .- >= :9 98#< 22233( ( 43(.  7888Z"899bfbe'<==e}--# # .- >= :9 98#< 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. . .2- 2- 2-j- - -- - - 4-00
- 
- 10
-$- - -@- - -(- - -- - -- - -- - -- - -- - -0- - -- - -L(L (L (LV  - - -H ULFL]R]95M5MNNNO 	& 	& 	&- - -# # # # #r   