
    A[gȈ              
       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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.                  j1                  d
dej2                  fddddej4                  ej2                  fg      ej.                  j1                  dddg      d               Zd Zd Zej.                  j1                  dddg      ej.                  j1                  dddg      ej.                  j1                  ddej4                  ej2                  g      ej.                  j1                  dddg      d                             Zej.                  j1                  dg d      d        Zej.                  j1                  dddg      ej.                  j1                  dddg      ej.                  j1                  ddej4                  ej2                  g      ej.                  j1                  dddg      d                              Z ej.                  j1                  dg d      d!        Z!d" Z"d# Z#d$ Z$d% Z%ej.                  j1                  d&dd'd(d)ig      ej.                  j1                  d*g d+g d,g      d-               Z&d. Z'ej.                  j1                  d&d/ d0 dUd1g      d2        Z(d3 Z)d4 Z*d5 Z+d6 Z,d7 Z-d8 Z.ej.                  j1                  d9dd:d:ej4                  gfdd:dej4                  gfg      d;        Z/d< Z0d= Z1d> Z2d? Z3d@ Z4ej.                  j1                  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.                  j1                  dOd ej                  d e
j                  dP      Q      g      dR        ZEdS ZFdT ZGy)V    )datetimeN)PerformanceWarning)Series_testing)_convert_na_valueobject_pyarrow_numpyc                 
    | dv S )N)zstring[pyarrow]string[pyarrow_numpy] dtypes    a/var/www/html/bid-api/venv/lib/python3.12/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
                  j                  |      }| t        v rdnd}t	        t        j                  d	t         j                  d
d
d	gt         j                        |      }t        j                  ||       |j
                  j                  |d	      }t	        t        j                  d	t         j                  d	d	d
gt         j                        |      }t        j                  ||       t	        t        j                  g dt              |       }|j
                  j                  |      }| t        v rt         j                  nd}t	        t        j                  g d      |      }t        j                  ||       t	        t        j                  g dt              |       }|j
                  j                  dd	      }t	        t        j                  g d      |      }t        j                  ||       |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
                  j                  |      }| t        v rdnd}t	        t        j                  d	t         j                  d
d
gt         j                        |      }t        j                  ||       |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
                  j                  |      }t	        t        j                  g d      |      }t        j                  ||       y )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      sH   XX	@

F F"23F
CZZ  %F!15I!IXyN
%tU32::FH 68,ZZ  E 2F
%t4BJJGH 68,
7vFF ZZ  %F!15I!IRXXyNbhh9:.QH68, 
7vFF
 ZZ   7Fbhh89PH68, ZZ  e% @Fbhh9:.QH68, 
%8

KF CZZ  %F!15I!IXyN
%t,BJJ?~H 68,ZZ   /F!15I!IRXXyNbhh9:.QH68,
7rzzJF ZZ  %Fbhh9:.QH68,r   c                     t        t        j                  dt        j                  ddt	        j
                         dd ddg	t                    } | j                  j                  d      }t        t        j                  d	t        j                  d	t        j                  t        j                  dd t        j                  t        j                  g	t        j                              }t        j                  ||       y )
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^^%5udAsK	
E YY$F
BFFE2662664rvvrvvN**	
H 68,r   c                     t        ddddt        j                  gd      } | j                  j	                  dd      }t        g d      }t        j                  ||       | j                  j	                  dd	      }t        g d
      }t        j                  ||       t        ddddt        j                  g      } | j                  j	                  dd      }t        g d      }t        j                  ||       | j                  j	                  dd	      }t        g d
      }t        j                  ||       y )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   s
    S#sC0
CFZZ   .F67H68,ZZ   /F78H68, S#sC01FZZ   .F67H68,ZZ   /F78H68,r   zna, expected)TT)FF)r   F)   Tr   TFc                     t        ddddt        j                  g|       }|j                  j	                  d||      }t        dddd|gd      }t        j                  ||       y )	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      sb    " S#sC08MNFZZ  5 9FtUE4:)LH68,r   c                    t        ddddddt        j                  ddd	g
| 
      }|j                  j	                  d      }| t
        v rdnd}t        ddddddt        j                  dddg
|
      }t        j                  ||       |j                  j	                  dd      }t        ddddddt        j                  dddg
|
      }t        j                  ||       |j                  j	                  d      }t        ddddddt        j                  dddg
|
      }t        j                  ||       |j                  j	                  d      }t        ddddddt        j                  dddg
|
      }t        j                  ||       |j                  j	                  dd      }t        ddddddt        j                  dddg
|
      }t        j                  ||       y )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BFFFE5I	A
 UU^^C F!15I!IXyN	udD%tLH 68,UU^^Ce^,F	ueT4eTJH 68,UU^^D!F	udE5"&&%NH 68,UU^^D!F	udE5"&&%NH 68,UU^^Du^-F	udD%ueLH 68,r   c                    t        t        j                  t        j                  t        j                  g|       }|j                  j	                  dd      }| t
        v rt        j                  nd}t        g d|      }t        j                  ||       |j                  j	                  dd      }t        g d|      }t        j                  ||       |j                  j	                  dd      }| d	k(  rt        g d
t        j                        }n2| dk(  rt        g dt        j                        }nt        g dd      }t        j                  ||       |j                  j	                  d      }| t
        v rd	nd}t        t        j                  t        j                  t        j                  g|      }t        j                  ||       y )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      sQ   '/?@AUU^^Ee^,F!15I!IRXXyN+>BH68,UU^^Ed^+F(?H68,UU^^Ee^,F8#/rzzB	4	4,BHH=,I>68,UU^^E"F!15I!IXyNrvvrvvrvv.nEH68,r   r-   r   )r   bazr   r   r>   
null_valuer!   c                    t        d|ddd|dg|      }|j                  j                  |       }t        dt        j                  dddt        j                  dg      }|d	k(  r$|t
        j                  u r|j                  |      }n|d	k(  r|d ||j                         <   t        j                  ||       |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                  j                  d      }t        dt        j                  dt        j                  t        j                  dd t        j                  t        j                  g	      }	t        j                  ||	       y 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
 ZZ""3'F
%ueRVVTB
CCZ2550jj$	(	z1CHHJ63'ZZ""32".F
%T5%T:
;C63' HH	bffc4!15$3GjjE 
			%	%c	*B	rvvrvvtT266266R	SB2r"r   )NTFc                 F   t        g d|       }|j                  j                  d|      }t        d|ddd|dddg	d      }t        j                  ||       |j                  j                  d|      }t        d|ddd|dddg	d      }t        j                  ||       y 	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#F ZZ""5R"0F
	D%D%?yC 63'ZZ""7r"2F
	E5%UE4@	C 63'r   c                    t        d|ddd|dg|      }|j                  j                  |       }t        dt        j                  dddt        j                  dg      }|d	k(  r$|t
        j                  u r|j                  |      }n|d	k(  r|d ||j                         <   t        j                  ||       |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                  j                  d      }t        dt        j                  dt        j                  t        j                  dd t        j                  t        j                  g	      }	t        j                  ||	       y rY   )r   r&   endswithr"   r$   r`   ra   rb   rc   r(   r)   r#   r   r8   r   rd   s
             r   test_endswithrp   .  sz    	z9eY
EJF
 ZZ  %F
%tRVVTB
CCZ2550jj$	(	z1CHHJ63'ZZ   ,F
%UE4T:
;C63' HH	bffc4!15$3GE 
			#	#C	(B	rvvrvvudBFFBFFS	TB2r"r   c                 F   t        g d|       }|j                  j                  d|      }t        d|ddd|dddg	d      }t        j                  ||       |j                  j                  d|      }t        d|ddd|dddg	d      }t        j                  ||       y rj   )r   r&   ro   r(   r)   rl   s        r   #test_endswith_nullable_string_dtyperr   P  s    P#F ZZ  2 .F
	E5$D%?yC 63'ZZ  R 0F
	E5%UE4@	C 63'r   c                     t        dt        j                  g|       }|j                  j	                  ddd      }t        dt        j                  g|       }t        j                  ||       y )NfooBAD__barBADr   BAD[_]*rK   Tr   foobarr   r"   r$   r&   replacer(   r)   r+   serr.   r0   s       r   test_replacer{   h  sW    
"BFF+3C
DCWW__Y$_7Fx(0@AH68,r   c                    t        dt        j                  g|       }t        dt        j                  g|       }|j                  j	                  dddd      }t        j                  ||       t        d	t        j                  g|       }|j                  j	                  d
ddd      }t        j                  ||       y )Nrt   r   	foobarBADru   rK   r5   Tnr   foo__barBADBADFrw   r+   rz   r0   r.   s       r   test_replace_max_replacementsr   p  s    
"BFF+3C
DC{BFF+3CDHWW__Yat_<F68,}bff-5EFHWW__UB!5_9F68,r   c                     t        dt        j                  ddt        j                         dd ddg	      } t        |       j
                  j                  ddd	      }t        d
t        j                  dt        j                  t        j                  dd t        j                  t        j                  g	t              }t        j                  ||       y )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4CPC C[__$$Y$$?F	bffc2662665$GvH 68,r   c                 n   t        dj                  d      g|       }t        dj                  d      g|       }t        j                  t        t        |             5  |j                  j                  ddt        j                  d      }d d d        t        j                  |       y # 1 sw Y    xY w)	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3;K
LC(//89AQRH		"	"#5}EU7V	W!2D

RVW 
X68, 
X	Ws   .B++B4replrA   r3   r4   data)r3   r4   N)r3   r4   r=   adc                     d} |||       }t        j                  t        |      5  |j                  j	                  d|       d d d        y # 1 sw Y   y xY w)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     sB     .C
$&6
7C	y	,T" 
-	,	,s   AAc                 X   t        dt        j                  g|       }d }t        j                  t
        t        |             5  |j                  j                  d|dd      }d d d        t        dt        j                  g|       }t        j                  |       y # 1 sw Y   =xY w)	Nrt   r   c                 @    | j                  d      j                         S Nr   groupswapcasems    r   <lambda>z'test_replace_callable.<locals>.<lambda>      QWWQZ((*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    
"BFF+3C
DC +D		"	"#5}EU7V	W$!4H 
X'08HIH68, 
X	Ws    B  B)c                       y Nr   r   r   r   r   r     s    Tr   c                      y r   r   )r   xs     r   r   r     s    r   c                      y r   r   )r   r   ys      r   r   r     s    4r   c                 N   t        dt        j                  g|       }d}t        j                  t
        |      5  t        j                  t        t        |             5  |j                  j                  d|d       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)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     s    
 %rvv.6FGF	0  
y	,&&.> ?
 JJsD5
 
-	,
 
 
-	,s#   $BB>BB	BB$c                 Z   t        dt        j                  g|       }d}d }t        j                  t
        t        |             5  |j                  j                  ||d      }d d d        t        dt        j                  g|       }t        j                  |       y # 1 sw Y   =xY w)NzFoo Bar Bazr   z,(?P<first>\w+) (?P<middle>\w+) (?P<last>\w+)c                 @    | j                  d      j                         S )Nmiddler   r   s    r   r   z4test_replace_callable_named_groups.<locals>.<lambda>  s    QWWX&//1r   Tr   bARr   )r+   rz   r-   r   r.   r0   s         r   "test_replace_callable_named_groupsr     s    
-(0@
AC
9C1D		"	"#5}EU7V	Wd$7 
Xubffo-=>H68, 
X	Ws   B!!B*c                    t        dt        j                  g|       }t        j                  d      }t        j                  t        t        |             5  |j                  j                  |dd      }d d d        t        dt        j                  g|       }t        j                  |       t        j                  t        t        |             5  |j                  j                  |ddd	      }d d d        t        d
t        j                  g|       }t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   IxY w)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    
"BFF+3C
DC **X
C		"	"#5}EU7V	Wb5 
Xx(0@AH68,		"	"#5}EU7V	WbAT: 
X{BFF+3CDH68, 
X	W
 
X	Ws   D/ D;/D8;Ec                     t        j                  d      } t        dt        j                  ddt        j                         dd ddg	      }t        |      j                  j                  | dd	      }t        d
t        j                  dt        j                  t        j                  dd t        j                  t        j                  g	t              }t        j                  ||       y )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4CPC C[__$$S"D$9F	bffc2662665$GvH 68,r   c                    t        dj                  d      g|       }t        dj                  d      g|       }t        j                  dt        j                        }t        j                  t        t        |             5  |j                  j                  |dd	      }d d d        t        j                  |       y # 1 sw Y    xY w)
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3;K
LC(//89AQRH
**&bjj
9C		"	"#5}EU7V	Wd$7 
X68, 
X	Ws   CC
c                 b   t        dt        j                  g|       }t        j                  d      }d}t        j                  t        |      5  |j                  j                  |dt        j                  d       d d d        t        j                  t        |      5  |j                  j                  |dd	d
       d d d        t        j                  t        |      5  |j                  j                  |ddd
       d d d        y # 1 sw Y   xY w# 1 sw Y   YxY w# 1 sw Y   y xY w)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
IC
**X
C
EC	z	-Rr}}DA 
. 
z	-Re48 
. 
z	-Rd$7 
.	- 
.	- 
.	- 
.	-s$   .D! D$ D%DD"%D.c                    t        dt        j                  g|       }d }t        j                  d      }t        j                  t        t        |             5  |j                  j                  ||dd      }d d d        t        dt        j                  g|       }t        j                  |       y # 1 sw Y   =xY w)	Nrt   r   c                 @    | j                  d      j                         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    
"BFF+3C
DC*D
**_
%C		"	"#5}EU7V	Wdat< 
X'08HIH68, 
X	Ws    B55B>zregex,expectedbaoc                     t        ddt        j                  g|      }t        ||      }|j                  j	                  dd|       }t        j                  ||       y )Nzf.or   r   zf.rP   r   rw   )r   r0   r+   rz   r.   s        r   test_replace_literalr     sQ    
 %'/?
@Ch&67HWW__T4u_5F68,r   c                     t        g |       }d }d}t        j                  t        |      5  |j                  j                  d|d       d d d        y # 1 sw Y   y xY w)Nr   c                 @    | j                  d      j                         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     sI    
+
,C*D
>C	z	-t51 
.	-	-s   AAc                     t        g |       }t        j                  d      }d}t        j                  t
        |      5  |j                  j                  |dd       d d d        y # 1 sw Y   y xY w)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     sR    
+
,C
**_
%C
OC	z	-Ru- 
.	-	-s    A((A1c                 B   t        ddddddt        j                  ddd	g
| 
      }|j                  j	                  dd      }t        ddddddt        j                  ddd	g
| 
      }t        j                  ||       t        j                  t        t        |             5  |j                  j	                  ddd      }d d d        t        ddddddt        j                  dddg
| 
      }t        j                  ||       t        j                  t        t        |             5  |j                  j	                  dddd      }d d d        t        ddddddt        j                  dddg
| 
      }t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   QxY w)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   #  s   
	c3BFFFE5IC
 WW__S%(F	S(FB
E5QH 68,		"	"#5}EU7V	We%8 
XFF	
 H 68,		"	"#5}EU7V	WH5M 
XFF	
 H 68,I 
X	W& 
X	Ws    F	% F	FFc                 x   t        ddddt        j                  g|       }t        j                  t
        t        |             5  |j                  j                  dddd	      }d d d        t        d
d
ddt        j                  g|       }t        j                  |       t        j                  t
        t        |             5  |j                  j                  dd
dd	      }d d d        t        d
d
ddt        j                  g|       }t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   LxY w)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
JC		"	"#5}EU7V	WcUC 
XtT4rvv6>NOH68,		"	"#5}EU7V	Wt%uE 
XtT4rvv6>NOH68, 
X	W
 
X	Ws    D$ D0$D-0D9c                     t        dddt        j                  dg|       }|j                  j	                  ddd      }t        dddt        j                  dg|       }t        j                  ||       y )	Nr3   r4   acrK   r   z^.$Tr   rw   )r+   rR   r.   r0   s       r   test_replace_regexr   g  sb    S$+3CDAUU]]5#T]2FsCrvvr2:JKH68,r   c                 2   t        dddt        j                  dg|      }|j                  j	                  dd|       }| r!t        dddt        j                  dg|      }n t        d	ddt        j                  dg|      }t        j                  ||       y )
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EAUU]]35]1F5#sBFFB7?OP5#sBFFB7?OP68,r   c                    | t         v rdnd}t        dt        j                  dg|       }|j                  j                  d      }t        dt        j                  dg|      }t        j                  ||       t        dd	t        j                  dg|       }|j                  j                  d
      }t        ddt        j                  dg|      }t        j                  ||       |j                  j                  d      }t        ddt        j                  dg|      }t        j                  ||       t        ddt        j                  dg|       }|j                  j                  d      }t        ddt        j                  dg|      }t        j                  ||       |j                  j                  d      }t        ddt        j                  dg|      }t        j                  ||       y )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!IXyN%rvvu5=MNFZZ23FtRVVU+>BH68,	.>FVF ZZ./FtT26651HH68,ZZn-FudBFFE2.IH68,	/?GWF ZZo.FueRVVU3>JH68,ZZ/0FudBFFE2.IH68,r   c                     t        dt        j                  ddt        j                         dd ddg	      } t        |       j
                  j                  d      }t        dt        j                  dt        j                  t        j                  dd t        j                  t        j                  g	      }t        |t               sJ t        j                  ||       y )	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    FFNN
	
E E]$$%9:FtRVVT2662665$PRPVPVWXHff%%%68,r   c                    t        ddt        j                  g|       }|j                  j	                  dd      }| t
        v rt        j                  nd}t        g d|      }t        j                  ||       |j                  j	                  d      }| t
        v rdnd}t        d	dt        j                  g|      }t        j                  ||       y )
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UU[[['F!15I!IRXXyN*.AH68,UU[[F!15I!IXyNtUBFF+>BH68,r   c                     t        g d|       }|j                  j                  dd      }| t        v rt        j
                  nd}t        g d|      }t        j                  ||       y )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    sY    .6FGFZZd/F!15I!IRXXyN.nEH68,r   c                     t        ddt        j                  dg|       }|j                  j	                  d      }| t
        v rdnd}t        dd	t        j                  d	g|      }t        j                  ||       y )
Nrt   r   r   r   r   r   r   TFr   r"   r$   r&   	fullmatchr   r(   r)   r+   rz   r.   r/   r0   s        r   test_fullmatchr    so    
	.>FVC WW/0F!15I!IXyNtUBFFE2.IH68,r   c                     t        ddt        j                  dg|       }|j                  j	                  d      }| t
        v rdnd}t        ddt        j                  d	g|      }t        j                  ||       y )
Nr   zfoo$foozfoo$r   zfoo\$r   r   FTr  r  s        r   test_fullmatch_dollar_literalr	    sh    
%BFFF3;K
LCWWx(F!15I!IXyNueRVVT2.IH68,r   c                     t        ddt        j                  dg|       }|j                  j	                  dd      }| t
        v rt        j                  nd}t        g d	|      }t        j                  ||       y )
Nrt   r   r   r   r   Fr    r   TFFF)	r   r"   r$   r&   r  r   r*   r(   r)   r  s        r   test_fullmatch_na_kwargr    sl    
	.>FVC WW/E:F!15I!IRXXyN1HH68,r   c                 P   t        g d|       }| t        v rt        j                  nd}t        g d|      }|j                  j                  dd      }t        j                  ||       t        g d|      }|j                  j                  dd	      }t        j                  ||       t        j                  t        t        |             5  |j                  j                  dt        j                  
      }d d d        t        j                  ||       y # 1 sw Y    xY w)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    s    
+3C
DC!15I!IRXXyN1HHWWt$/F68,0GHWWt%0F68,		"	"#5}EU7V	W""4r}}"= 
X68, 
X	Ws   ,DD%c                     t        dt        j                  ddg|       }|j                  j	                  d      }t        ddgt        j                  g dgg      }t        ||      }t        j                  ||       y )Nrt   r   r   r   ru   BAD__)r   r"   r$   r&   findallr   r(   r)   ry   s       r   test_findallr    si    
"BFFE59AQ
RCWW__Y'F'eW=>H h/H68,r   c                     t        dt        j                  ddt        j                         dd ddg	      } | j
                  j                  d      }t        ddgt        j                  g t        j                  t        j                  dgd t        j                  t        j                  g	      }t        j                  ||       y )	Nrt   r   Tr   r5   r6   ru   r  )	r   r"   r$   r   r8   r&   r  r(   r)   r   s      r   test_findall_mixed_objectr    s    
FFNN
	
C WW__Y'FeFFFFFFGFFFF
	
H 68,r   c           
      R
   t        g d|       }| t        v rt        j                  nd}|j                  j                  d      }t        g d|      }t        j                  ||       t        j                  t        j                  |      D cg c]  }|j                  d       c}t        j                        }t        j                  t        j                  |t        j                        |       |j                  j                  d      }t        g d|      }t        j                  ||       t        j                  t        j                  |      D cg c]  }|j                  d       c}t        j                        }t        j                  t        j                  |t        j                        |       |j                  j                  dd      }t        g d|      }t        j                  ||       t        j                  t        j                  |      D cg c]  }|j                  dd       c}t        j                        }t        j                  t        j                  |t        j                        |       |j                  j                  dd      }t        g d|      }t        j                  ||       t        j                  t        j                  |      D cg c]  }|j                  dd       c}t        j                        }t        j                  t        j                  |t        j                        |       |j                  j                  ddd	      }t        g d
|      }t        j                  ||       t        j                  t        j                  |      D cg c]  }|j                  ddd	       c}t        j                        }t        j                  t        j                  |t        j                        |       |j                  j                  ddd	      }t        g d
|      }t        j                  ||       t        j                  t        j                  |      D cg c]  }|j                  ddd	       c}t        j                        }t        j                  t        j                  |t        j                        |       y c c}w c c}w c c}w c c}w c c}w c c}w )N)ABCDEFGBCDEFEF	DEFGHIJEFEFGHEFXXXXr   Int64EF)   rA   r5   r   )r        r  r  rA   )r  rA   r   r  r     )r  rA   r  r  r  )r   r   r"   int64r&   findr(   r)   r#   assert_numpy_array_equalrfind)r+   rz   r/   r.   r0   vs         r   	test_findr'  6  sj   
=EUC "25I!IRXXwNWW\\$F&n=H68,xxrxx}=}!}=RXXNHrxx @(KWW]]4 F&n=H68,xx>1>bhhOHrxx @(KWW\\$"F&n=H68,xx"((3-@-Qa-@QHrxx @(KWW]]4#F&n=H68,xx288C=A=aq)=ARHrxx @(KWW\\$1%F'~>H68,xxRXXc]C]a+]C288THrxx @(KWW]]4A&F'~>H68,xxbhhsmDmq!,mDBHHUHrxx @(K? > ? A B D Es$   TT-T=TT T$c                 J   t        g |       }t        j                  t        d      5  |j                  j                  d       d d d        t        j                  t        d      5  |j                  j                  d       d d d        y # 1 sw Y   IxY w# 1 sw Y   y xY w)Nr   z!expected a string object, not intr   r   )r   r   r   r   r&   r#  r%  )r+   rz   s     r   test_find_bad_arg_raisesr)  a  sq    
+
,C	y(K	LQ 
M 
y(K	La 
M	L 
M	L 
M	Ls   B(BBB"c                    t        dt        j                  dt        j                  dg|       }| t        v rt        j                  nd}|j
                  j                  d      }t        dt        j                  dt        j                  d	g|      }t        j                  ||       |j
                  j                  d      }t        dt        j                  d
t        j                  d	g|      }t        j                  ||       |j
                  j                  dd      }t        dt        j                  d
t        j                  d	g|      }t        j                  ||       |j
                  j                  dd      }t        dt        j                  d
t        j                  d	g|      }t        j                  ||       |j
                  j                  ddd      }t        dt        j                  d	t        j                  d	g|      }t        j                  ||       |j
                  j                  ddd      }t        dt        j                  d	t        j                  d	g|      }t        j                  ||       y )Nr  r  r  r   r  r  r  r5   r  r   rA   r!  )
r   r"   r$   r   float64r&   r#  r(   r)   r%  )r+   rz   r/   r.   r0   s        r   test_find_nanr,  j  s   
	BFFK8@PC $47K#KRZZQXNWW\\$Fq"&&!RVVR0GH68,WW]]4 Fq"&&!RVVR0GH68,WW\\$"Fq"&&!RVVR0GH68,WW]]4#Fq"&&!RVVR0GH68,WW\\$1%Fq"&&"bffb1HH68,WW]]4A&Fq"&&"bffb1HH68,r   infer_stringpyarrow)marksc                      | g d|      }t         j                  dd      }|j                   j                  |      } | g d|      }t        j                  ||       y )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_translater>    sZ     08HC MM%'EWWu%F08HH OOFH%r   c                      t        g d      } t        j                  dd      }t        dddt        j                  gt
              }| j                  j                  |      }t        j                  ||       y )N)r3   r4   r=   g333333?r   r5  r=   der   )	r   r&   r:  r"   r$   r   r;  r(   r)   )rR   r=  r0   r.   s       r   test_translate_mixed_objectrB    sX    #$AMM%'EsCbff-V<HUU__U#F68,r   c                    dddt         j                  d}t        ||       }d}t        |       }|j                  j                  |t        j                  d      }|j                  d	   j                         g d
k(  sJ t        j                  t        |      5  |j                  j                  |t        j                        }d d d        |j                  d	   sJ t        j                  t        |      5  |j                  j                  |t        j                        }d d d        |j                  d	   sJ |j                  j                  |t        j                        }|j                  d	   d	   d
k(  sJ |j                  j!                  |t        j                        }|j                  d	   dk(  sJ d}t        j"                  t$        ||       5  |j                  j'                  |t        j                        }d d d        |j                  d	   sJ y # 1 sw Y   `xY w# 1 sw Y   xY w# 1 sw Y   5xY w)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_kwargrT    s   !"vv	D $./D
9C 01KXXctDF;;q>  "&????		"	"#5{	C2==9 
D;;q>>		"	"#5{	C##Cr}}#= 
D;;q>>XXc7F;;q>! 9999XX^^Cr}}^5F;;q>Q
C		#	#3K
 ""3bmm"<
 ;;q>>' 
D	C 
D	C
 
s$   ,H$9,H1,H>$H.1H;>I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  r'  r)  r,  param
skip_if_nor>  rB  rT  r   r   r   <module>ra     s    	   , ) ) AG-T-"-0 	ruu	
 4-0- 1
-)-X-B  788Z"89bffbee'<=e}-# . > : 9#< 23( 4(.  788Z"89bffbee'<=e}-# . > : 9#< 23( 4(.-	--- $C:!67"24I!JK# L 8#	- 
\,.GH66 --"	--8$- ueRVV45ubff?U7VW--2.2-j-- 4-0
- 1
-$-@-(------0--L(LV-H ULFLL]R]]95MNO	&	&-#r   