
    .i                        d dl m Z  d dlZd dlZd dlZd dlmZ d dlmc m	Z
 d dlZd dlmZmZmZ d dlmZmZ d Zd Zd Zej.                  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d Zd Zej.                  j1                  ddg dfdg dfdg dfdg dfdg dfg      ej.                  j1                  dej@                  ddej4                  dej2                  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(d0 Z)d1 Z*d2 Z+d3 Z,d4 Z-ej.                  j1                  d5dd6d7d8ig      ej.                  j1                  d9g d:g d;g      d<               Z.d= Z/ej.                  j1                  d5d> d? dd@g      dA        Z0ej.                  j1                  dBdCdDdEgfdFdDdEgfdGdDdEgfdHdIdJgfdKdLdMgfgg dNO      ej.                  j1                  dPddg      dQ               Z1ej.                  j1                  d5g dR      ej.                  j1                  dPddg      dS               Z2ej.                  j1                  dTdUdVg      dW        Z3ej.                  j1                  dXdYdZg d[fd\dZg d[fg       e
jh                  d]      d^               Z5d_ Z6d` Z7da Z8db Z9dc Z:dd Z;ej.                  j1                  dedfdgg      dh        Z<di Z=dj Z>dk Z?dl Z@dm ZAej.                  j1                  dddg      dn        ZBej.                  j1                  ddg dofdg dpfdg dqfdg drfdg dsfg      dt        ZCdu ZDdv ZEdw ZFdx ZGdy ZHdz ZIej.                  j1                  d{ddddggd|dddggd}dddggd~dddggddddggddddggddddggg      d        ZJej.                  j1                  ddg dfdg dfdg dfdg dfdg dfg      d        ZKd ZLd ZMd ZNd ZOd ZPd ZQej.                  j1                  ddddg dgdddg dgd}ddg dgdddg dgdddg dgdddg dgdddg dgdddg dgdddg dgdddg dgdddg dgdddg dgg      d        ZRej.                  j1                  d#g d      d        ZSd ZTd ZUd ZVej.                  j1                  ddg d7gg g gfdg d8gg g gfdd7d7gg d7gg gfdd7d7gd7gg g gfdg dgg g gfg      d        ZWd ZXd ZYd ZZd Z[ej.                  j1                  dd ej                  d e
jh                  d]            g      d        Z]d Z^d Z_y)    )datetimeN)lib)SeriesStringDtype_testing)_convert_na_valueis_object_or_nan_string_dtypec           	      j	   t        j                  dt         j                  dddgt         j                        }t	        ||       }d}|j
                  j                  |      }| dk(  rt	        g dt              }nRt        |       rd	nd
}t	        t        j                  dt         j                  dddgt         j                        |      }t        j                  ||       |j
                  j                  |d      }| dk(  rt	        g dt              }nCt	        t        j                  dt         j                  dddgt         j                              }t        j                  ||       t	        t        j                  g dt              |       }|j
                  j                  |      }t        |       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                  |      }| dk(  rt	        g dt              }nQt        |       rd	nd
}t	        t        j                  dt         j                  ddgt         j                        |      }t        j                  ||       |j
                  j                  |d      }t        |       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[_]+bardtypezmmm[_]+str)FFTTFobjectbooleanFTregex)FFFFT)r   xyzr   r   )FFTT)FooxYzfOOomMm__fOoMMM_zFOO|mmmcase)TFTT)r   r   TFTFna)nparraynanobject_r   r   containsboolr	   tmassert_series_equalr   bool_)any_string_dtypevaluespatresultexpectedexpected_dtypes         d/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/strings/test_find_replace.pytest_containsr/      s   XX	@

F F"23F
CZZ  %F5 ;4H 66FGHY 	 HHeRVVT47rzzJ 

 68,ZZ  E 2F5 <DIHHeRVVUE48

K 
 68,
7vFF ZZ  %F12BC  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5 4DA 66FGHY 	 HHeRVVT40

C 
 68,ZZ   /F12BC  bhh9:.QH68,
7rzzJF ZZ  %Fbhh9:.QH68,    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+   r,   s      r.   test_contains_object_mixedr:   x   s    
"&&#tX^^%5udAsK	
E YY$F
BFFE2662664rvvrvvN**	
H 68,r0   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 )Nr2   r3   ccategoryr   Tr   )TFFTTF)TFFTF)r   r   r!   r   r#   r%   r&   )r)   r+   r,   s      r.   *test_contains_na_kwarg_for_object_categoryr>      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,r0   zna, expected)TT)FF)r   F)   Tr   TFc                    t        ddddt        j                  g|       }|dv rL|durHd| }t        j                  t
        |      5  |j                  j                  d||	       d d d        y |j                  j                  d||	      }t        d
ddd
|gd      }t        j                  ||       y # 1 sw Y   y xY w)Nr2   r3   r<   r   )r   r?   Fz4na must be None, pd.NA, np.nan, True, or False; got match)r   r   Tr   )
r   r   r!   pytestraises
ValueErrorr   r#   r%   r&   )nullable_string_dtyper   r,   r   r)   msgr+   s          r.   0test_contains_na_kwarg_for_nullable_string_dtyperH      s    " S#sC08MNF	V|%DRDI]]:S1 	9JJ%8	9 	9 $$SRu$=4tX>iP
vx0	9 	9s   	B88Cc                    t        ddddddt        j                  ddd	g
| 
      }|j                  j	                  d      }| dk(  r	t
        }d}nt        |       rdnd}t        j                  }t        dddddd|dddg
|
      }t        j                  ||       |j                  j	                  dd      }t        dddddd|dddg
|
      }t        j                  ||       |j                  j	                  d      }t        dddddd|dddg
|
      }t        j                  ||       |j                  j	                  d      }t        dddddd|dddg
|
      }t        j                  ||       |j                  j	                  dd      }t        dddddd|dddg
|
      }t        j                  ||       y )NABCAabaBaca CABAdogcatr   r2   r   Fr   r   Tr   Aaba)	r   r   r!   r   r#   r$   r	   r%   r&   )r(   sr+   r-   na_valuer,   s         r.   test_contains_moarrW      s   	c3BFFFE5I	A
 UU^^C F5  66FGHY 	 66	udD%5%NH 68,UU^^Ce^,F	ueT4$tLH 68,UU^^D!F	udE5(E5%PH 68,UU^^D!F	udE5(E5%PH 68,UU^^Du^-F	udD%4NH 68,r0   c                 ~   t        t        j                  t        j                  t        j                  g|       }|j                  j	                  dd      }t        |       rt        j                  nd}t        g d|      }t        j                  ||       |j                  j	                  dd      }t        g d|      }t        j                  ||       d	}t        j                  t        |
      5  |j                  j	                  dd       d d d        |j                  j	                  d      }| dk(  rt        g dt              }nIt        |       rdnd}t        t        j                  t        j                  t        j                  g|      }t        j                  ||       y # 1 sw Y   xY w)Nr   r   Fr   r   FFFT)TTTz7na must be None, pd.NA, np.nan, True, or False; got foorA   r   r   )r   r   r!   r   r#   r	   r'   r%   r&   rC   rD   rE   r$   )r(   rU   r+   r-   r,   rG   s         r.   test_contains_nanrZ      sJ   '/?@AUU^^Ee^,F12BC  +>BH68,UU^^Ed^+F(?H68,
CC	z	- (	u'( UU^^E"F5 /t< 66FGHY 	 2662662662.I68,( (s   9F33F<c                    t        |       rt        j                  nd}t        g d|       }t	        j
                  d      }|j                  j                  |      }t        g d|      }t        j                  ||       | dk(  rR| j                  dk(  rC|j                  j                  |d	      }t        g d
|      }t        j                  ||       nAt        j                  t        d      5  |j                  j                  |d	       d d d        t	        j
                  dt        j                        }|j                  j                  |      }t        g d
|      }t        j                  ||       t        j                  t        d      5  |j                  j                  |t        j                         d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nr   )r   barBazr   zba.FTFstringpyarrowFr   FTT5cannot process flags argument with a compiled patternrA   flags)r	   r   r'   r   recompiler   r#   r%   r&   storagerC   rD   rE   
IGNORECASEr(   r-   serr*   r+   r,   s         r.   test_contains_compiled_regexrk     s    22BC  &.>
?C
**U
CWWc"F*.AH68, 8#(8(@(@I(M!!#E!2-^D
vx0]]U
 	. GGSu-	.
 **U"--
0CWWc"F)@H68, 
Q
 3 	BMM23 3	. 	.3 3s   4G,GGG$c                    t        |       rt        j                  nd}t        g d|       }t	        j
                  d      }|j                  j                  |      }t        g d|      }t        j                  ||       t	        j
                  dt        j                        }|j                  j                  |      }t        g d|      }t        j                  ||       t	        j
                  dt        j                  t        j                  z        }|j                  j                  |      }t        g d|      }t        j                  ||       y )	Nr   )foobarzfoo
barr]   r   z^barY   rc   r^   ra   )r	   r   r'   r   re   rf   r   r#   r%   r&   	MULTILINErh   ri   s         r.   "test_contains_compiled_regex_flagsro   5  s     22BC  .6F
GC
**U
CWWc"F+>BH68,
**U",,
/CWWc"F*.AH68,
**U",,">
?CWWc"F)@H68,r0   zpat, expected_dataa(?=b)FTFF(?<=a)ba(?!b)r   (?<!b)aTTFFabr   c                    | dk(  rt        |t              sd}nt        |       rt        j                  nd}| dk(  r?|t
        j                  u st        j                  |      r|t        j                  urd }nX|}nU|t
        j                  u st        j                  |      r,| dk(  rd}n&| dk(  rt        j                  }nt        d|        |}|j                         }|j                  |       t        g d|       }|j                  j                  |d	|
      }t        ||      }t!        j"                  ||       y )Nr   r   r   Fr_   zUnrecognized string dtype aarv   rT   bbNr   T)r   r   )
isinstancer$   r	   r   r'   r   
no_defaultpdisnaNArE   copyappendr   r   r#   r%   r&   )	r(   r*   expected_datar   r-   	na_resultrj   r+   r,   s	            r.   test_contains_lookaroundsr   M  s    8#Jr4,@! 66FGBHHY 	 8##.. BGGBKRruu_II	s~~	u$I)I9:J9KLMM	!&&(M#
/7G
HCWWc"5Fm>:H68,r0   c                 h   t        |       rt        j                  nd}t        g d|       }|j                  j                  d      }| dk(  r| j                  dk(  rt        g d|      }nt        g d|      }t        j                  ||       |j                  j                  d	      }t        g d|      }t        j                  ||       t        d
dj                  d      d	dddg|       }|j                  j                  d      }t        g d|      }t        j                  ||       |j                  j                  d      }t        g d|      }t        j                  ||       |j                  j                  d      }t        g d|      }t        j                  ||       y )Nr   bazr\   barsbar
r   bar$r_   r`   rq   FTFTbar\Zr\   zbar{}\bar\\Zr   r   )FFTFFFzbar\\\Z)FTFFFFzbar\\\\Z)FFFTFF)
r	   r   r'   r   r   r#   rg   r%   r&   formatr(   r-   rj   r+   r,   s        r.   test_contains_end_of_stringr   w  sr    22BC  08H
IC WWf%F8#(8(@(@I(M5^L 4NK68, WWh'F1HH68, 	%xFGLC
 WWi(F?~VH68,WWj)F?~VH68,WWk*F?~VH68,r0   c           	         t        dt        j                  dddt        j                  dg|       }d}t        j                  t
        |      5  |j                  j                  d	d
       d d d        t        j                  t
        |      5  |j                  j                  dd
       d d d        y # 1 sw Y   KxY w# 1 sw Y   y xY w)Nomfoo_nomnombar_foor   r   z7na must be None, pd.NA, np.nan, True, or False; got bazrA   kapowr   r   r\   )	r   r   r!   rC   rD   rE   r   
startswithendswith)r(   rj   rG   s      r.   $test_startswith_endswith_validate_nar     s    
	rvvy%BFFEBC DC	z	- .7u-.	z	- *5)* *. .* *s   B6C6B?Cr*   r   )r   r   r   r   r=   
null_valuec                    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                  |      }nF|d	k(  r|d ||j                         <   n+|r)|d
k(  r$|j                  d      j                  t              }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 Nr   r   r   r   r   r   FTr   r=   r   r2   r3   r4   r5   f)r   r   r   r   r!   r}   r   fillnar~   astyper$   r%   r&   r    r   r7   r"   r*   r   r   r   using_infer_stringr)   r+   expr9   rsxps              r.   test_startswithr     s    	z9eY
EJF
 ZZ""3'F
%ueRVVTB
CCZ2550jj$	(	z1CHHJ	 3jj&&t,63'ZZ""32".F
%T5%T:
;C63' HH	bffc4!15$3GjjE 
			%	%c	*B	rvvrvvtT266266R	SB2r"r0   )NTFc                    t        g d|       }|j                  j                  d|      }t        |       r|t        nt
        nd}| dk(  r
t
        }|d}t        d|ddd|dddg	|      }t        j                  ||       |j                  j                  d	|      }t        d|ddd|dddg	|      }t        j                  ||       y 
N)	r   Nr   r   r   Nr   r   rege.r   r   r   r   r   FTr   )r   r   r   r	   r   r$   r%   r&   r(   r   r)   r+   r-   r   s         r.   test_startswith_string_dtyper     s    PF ZZ""5R"0F ))9: :4 
 5 :B
	D%D%?~C 63'ZZ""7r"2F
	E5%UE4@C 63'r0   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                  |      }nF|d	k(  r|d ||j                         <   n+|r)|d
k(  r$|j                  d      j                  t              }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 r   )r   r   r   r   r!   r}   r   r   r~   r   r$   r%   r&   r    r   r7   r   r   s              r.   test_endswithr     s    	z9eY
EJF
 ZZ  %F
%tRVVTB
CCZ2550jj$	(	z1CHHJ	 3jj&&t,63'ZZ   ,F
%UE4T:
;C63' HH	bffc4!15$3GE 
			#	#C	(B	rvvrvvudBFFBFFS	TB2r"r0   c                    t        g d|       }|j                  j                  d|      }t        |       r|t        nt
        nd}| dk(  r
t
        }|d}t        d|ddd|dddg	|      }t        j                  ||       |j                  j                  d	|      }t        d|ddd|dddg	|      }t        j                  ||       y r   )r   r   r   r	   r   r$   r%   r&   r   s         r.   test_endswith_string_dtyper     s    PF ZZ  2 .F ))9: :4 
 5 :B
	E5$D%?~C 63'ZZ  R 0F
	E5%UE4@C 63'r0   c                     t        g dd      }d}t        j                  t        |      5  |j                  j                  dddd	
       d d d        y # 1 sw Y   y xY w)N)rJ   B_junkC_gunkmy_messy_coldatanamez,repl cannot be used when pat is a dictionaryrA   r2   r3   rJ   rK   rJ   )r*   replr   rC   rD   rE   r   replace)r(   seriesrG   s      r.   test_replace_dict_invalidr   >  sS    2HF
8C	z	- ?

Ss3#>? ? ?s   !AA c                     t        g dd      }|j                  j                  ddd      }t        g dd      }t        j                  ||       y )	N)rJ   rK   rL   r   r   r2   r3   r   )r*   )r2   r3   rL   r   r   r   r%   r&   )r(   r   
new_seriesr,   s       r.   test_replace_dictr   G  sF    ~>F##c(<#=J?@H:x0r0   c                     t        dt        j                  g|       }|j                  j	                  ddd      }t        dt        j                  g|       }t        j                  ||       y )NfooBAD__barBADr   BAD[_]*rO   Tr   rm   r   r   r!   r   r   r%   r&   r(   rj   r+   r,   s       r.   test_replacer   O  sW    
"BFF+3C
DCWW__Y$_7Fx(0@AH68,r0   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 )Nr   r   	foobarBADr   rO   r4   Tnr   foo__barBADBADFr   r(   rj   r,   r+   s       r.   test_replace_max_replacementsr   W  s    
"BFF+3C
DC{BFF+3CDHWW__Yat_<F68,}bff-5EFHWW__UB!5_9F68,r0   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fooBADr4   r5   r   rO   r   r2   r3   r   r   )
r   r   r!   r   r7   r   r   r   r%   r&   rj   r+   r,   s      r.   test_replace_mixed_objectr   c  s    
	x~~'74CPC C[__$$Y$$?F	bffc2662665$GvH 68,r0   c                     t        dj                  d      g|       }t        dj                  d      g|       }|j                  j                  ddt        j
                  d      }t        j                  ||       y )	N   abcd,àutf-8r      abcd, à(?<=\w),(?=\w), Trd   r   )r   decoder   r   re   UNICODEr%   r&   r   s       r.   test_replace_unicoder   n  si    
"))'23;K
LC(//89AQRHWW__.BJJd_SF68,r0   r   r?   r2   r3   r   )r2   r3   N)r2   r3   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   rA   r2   )rC   rD   	TypeErrorr   r   )r(   index_or_seriesr   r   rG   objs         r.   #test_replace_wrong_repl_type_raisesr   u  sK     .C
$&6
7C	y	, #T"# # #s   AAc                     t        dt        j                  g|       }d }|j                  j	                  d|dd      }t        dt        j                  g|       }t        j                  ||       y )	Nr   r   c                 @    | j                  d      j                         S Nr   groupswapcasems    r.   <lambda>z'test_replace_callable.<locals>.<lambda>      QWWQZ((* r0   [a-z][A-Z]{2}   Tr   foObaD__baRbaDr   )r(   rj   r   r+   r,   s        r.   test_replace_callabler     sa    
"BFF+3C
DC +DWW___dat_DF'08HIH68,r0   c                       y N r   r0   r.   r   r         r0   c                      y r   r   )r   xs     r.   r   r     r   r0   c                      y r   r   )r   r   ys      r.   r   r     r   r0   c                     t        dt        j                  g|       }d}t        j                  t
        |      5  |j                  j                  d|d       d d d        y # 1 sw Y   y xY w)Nr   r   zO((takes)|(missing)) (?(2)from \d+ to )?\d+ (?(3)required )positional arguments?rA   r2   Tr   )r   r   r!   rC   rD   r   r   r   )r(   r   r)   rG   s       r.   test_replace_callable_raisesr     sc    
 %rvv.6FGF	0  
y	, 2

3D12 2 2s   A##A,zrepl, expected_listz\g<three> \g<two> \g<one>zThree Two OnezBaz Bar Fooz\3 \2 \1z\g<3> \g<2> \g<1>z\g<2>0Two0Bar0z	\g<2>0 \1zTwo0 OnezBar0 Foo)named_groups_full_swapnumbered_groups_no_g_full_swapnumbered_groups_full_swapsingle_group_with_literal"mixed_group_reference_with_literal)idsuse_compilec                     t        ddg|       }d}|rt        j                  |      }|j                  j	                  ||d      }t        ||       }t        j                  ||       y )NOne Two ThreeFoo Bar Bazr   ((?P<one>\w+) (?P<two>\w+) (?P<three>\w+)Tr   )r   re   rf   r   r   r%   r&   )r(   r  r   expected_listrj   patternr+   r,   s           r.   $test_replace_named_groups_regex_swapr    sb    J /=19I
JC9G**W%WW__Wd$_7Fm+;<H68,r0   )z\g<20>\20z\40z\4c                 
   |s}d|vryt        | t              ri| j                  dk(  rZ|dk(  r1t        j                  j                  d      }|j                  |       t        j                  d      }|j                  }d}nt        j                  }d}d}|rt        j                  |      }t        d	d
g|       }	t        j                  ||      5  |	j                  j                  ||d       d d d        y # 1 sw Y   y xY w)Nz\gr`   r  z%PyArrow interprets as group + literal)reasonz(only has \d parenthesized subexpressionszinvalid group referencer	  r  r  r   rA   Tr   )r{   r   rg   rC   markxfailapplymarkerimportorskipArrowInvalidre   errorrf   r   rD   r   r   )
r(   r   r  requestr  pa
error_type	error_msgr  rj   s
             r.   2test_replace_named_groups_regex_swap_expected_failr    s     '5$$	1 6>;;$$,S$TD%  +__
?	XX
-	9G**W%
/=19I
JC	z	3 3T23 3 3s   C99Dzpattern, repl)z(\w+) (\w+) (\w+)r  )r	  r  c                     t        ddg|       }|j                  j                  ||d      }t        ddg|       }t        j                  ||       y )Nr  r  r   Tr   r   r   r   )pyarrow_string_dtyper  r   rj   r+   r,   s         r.   'test_pyarrow_ambiguous_group_referencesr    sP     /=19M
NCWW__Wd$_7Fvv&.BCH68,r0   zpattern, repl, expected_listz\[(?P<one>\d+)\]z(\1))z
var.one(0)z
var.two(1)zvar.three(2)z	\[(\d+)\]r`   c                     t        g d      j                  d      }|j                  j                  | |d      }t        |      j                  d      }t	        j
                  ||       y )N)z
var.one[0]z
var.two[1]zvar.three[2]r`   )dtype_backendTr   )r   convert_dtypesr   r   r%   r&   )r  r   r
  rj   r+   r,   s         r.   &test_pyarrow_backend_group_replacementr!    se    " =
>
M
M N C WW__Wd$_7Fm$33)3LH68,r0   c                     t        dt        j                  g|       }d}d }|j                  j	                  ||d      }t        dt        j                  g|       }t        j                  ||       y )Nr  r   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&//1 r0   Tr   bARr   )r(   rj   r*   r   r+   r,   s         r.   "test_replace_callable_named_groupsr&    s_    
-(0@
AC
9C1DWW__S$d_3Fubffo-=>H68,r0   c                    t        dt        j                  g|       }t        j                  d      }|j
                  j                  |dd      }t        dt        j                  g|       }t        j                  ||       |j
                  j                  |ddd	      }t        d
t        j                  g|       }t        j                  ||       y )Nr   r   BAD_*rO   Tr   rm   r4   r   r   	r   r   r!   re   rf   r   r   r%   r&   )r(   rj   r*   r+   r,   s        r.   test_replace_compiled_regexr*  $  s    
"BFF+3C
DC **X
CWW__S"D_1Fx(0@AH68,WW__S"_6F{BFF+3CDH68,r0   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   r4   r5   rO   r   r2   r3   r   r   )re   rf   r   r   r!   r   r7   r   r   r   r%   r&   )r*   rj   r+   r,   s       r.   (test_replace_compiled_regex_mixed_objectr,  3  s    
**X
C
	x~~'74CPC C[__$$S"D$9F	bffc2662665$GvH 68,r0   c                 *   t        dj                  d      g|       }t        dj                  d      g|       }t        j                  dt        j                        }|j
                  j                  |dd	      }t        j                  ||       y )
Nr   r   r   r   r   rc   r   Tr   )	r   r   re   rf   r   r   r   r%   r&   )r(   rj   r,   r*   r+   s        r.   #test_replace_compiled_regex_unicoder.  ?  sw    
"))'23;K
LC(//89AQRH
**&bjj
9CWW__S$d_3F68,r0   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 regexrA   rO   Tr   Fr   r   )r   r   r!   re   rf   rC   rD   rE   r   r   rh   r(   rj   r*   rG   s       r.   "test_replace_compiled_regex_raisesr3  G  s     '08H
IC
**X
C
EC	z	- BRr}}DAB 
z	- 9Re489 
z	- 8Rd$78 8B B9 98 8s$   .D! D$ D%DD"%D.c                    t        dt        j                  g|       }d }t        j                  d      }|j
                  j                  ||dd      }t        dt        j                  g|       }t        j                  ||       y )	Nr   r   c                 @    | j                  d      j                         S r   r   r   s    r.   r   z6test_replace_compiled_regex_callable.<locals>.<lambda>\  r   r0   r   r   Tr   r   r)  )r(   rj   r   r*   r+   r,   s         r.   $test_replace_compiled_regex_callabler6  Y  sm    
"BFF+3C
DC*D
**_
%CWW__S$!4_8F'08HIH68,r0   zregex,expected_val)Tbao)Fr   c                     t        ddt        j                  g|      }t        d|t        j                  g|      }|j                  j	                  dd|       }t        j                  ||       y )Nzf.or   r   r7  zf.rT   r   r   )r   expected_valr(   rj   r,   r+   s         r.   test_replace_literalr:  c  s\     %'/?
@CulBFF3;KLHWW__T4u_5F68,r0   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>n  r   r0   z2Cannot use a callable replacement when regex=FalserA   abcFr   r   )r(   rj   r   rG   s       r.   $test_replace_literal_callable_raisesr>  l  sR    
+
,C*D
>C	z	- 2t512 2 2s   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=FalserA   rO   Fr   )r   re   rf   rC   rD   rE   r   r   r2  s       r.   $test_replace_literal_compiled_raisesr@  u  s[    
+
,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                  ||       |j                  j	                  ddd      }t        ddddddt        j                  dddg
| 
      }t        j                  ||       |j                  j	                  dddd      }t        ddddddt        j                  dddg
| 
      }t        j                  ||       y )NrJ   rK   rL   rM   rN   rO   rP   rQ   rR   r   YYYYYYabaCYYYBYYYFr   
YYYYYYbYYYBYYYcYYYcYYYtz^.a|dogzXX-XX Tr1  zXX-XX bazXX-XX cazXX-XX BAzXX-XX tr   r   s       r.   test_replace_moarrH  ~  s>   
	c3BFFFE5IC
 WW__S%(F	S(FB
E5QH 68,WW__S%e_4FFF	
 H 68,WW__YuD_IFFF	
 H 68,r0   c                    t        ddddt        j                  g|       }|j                  j	                  dddd	      }t        d
d
ddt        j                  g|       }t        j                  ||       |j                  j	                  dd
dd	      }t        d
d
ddt        j                  g|       }t        j                  ||       y )NzA.za.Abrv   r   r2   r<   Fr1  zc.cbr   r   s       r.   )test_replace_not_case_sensitive_not_regexrL    s    
$dD"&&19I
JCWW__S#E_?FtT4rvv6>NOH68,WW__T4e5_AFtT4rvv6>NOH68,r0   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 )	Nr2   r3   acrO   r   z^.$Tr   r   )r(   rU   r+   r,   s       r.   test_replace_regexrO    sb    S$+3CDAUU]]5#T]2FsCrvvr2:JKH68,r0   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.r3   rO   r   r2   r   aaaaabr   )r   r(   rU   r+   r,   s        r.   #test_replace_regex_single_characterrT    s     	sC,4DEAUU]]35]1F5#sBFFB7?OP5#sBFFB7?OP68,r0   )ry   xbrT   rz   )ry   axrT   rz   )xxrv   bxrz   )rW  rU  rT   rz   )ry   r   rT   rz   c                 0   t        g d|       }|j                  j                  |dd      }| dk(  rd }n:| dk(  rt        j                  }n$| dk(  rt
        j                  }nt        d	|        t        g |||       }t        j                  ||       y )
Nrx   r   r   Tr   r   r   r_   Unrecognized dtype: )
r   r   r   r   r!   r}   r   rE   r%   r&   r(   r*   r   rj   r+   null_resultr,   s          r.   test_replace_lookaroundsr]    s     /7G
HCWW__S#T_2F8#	U	"ff	X	%ee/0@/ABCC33{3;KLH68,r0   c                    t        g d|       }|j                  j                  ddd      }| dk(  r| j                  dk(  rt        g d	|       }nt        g d
|       }t	        j
                  ||       |j                  j                  ddd      }t        g d	|       }t	        j
                  ||       t        g d|       }|j                  j                  ddd      }t        g d|       }t	        j
                  ||       y )Nr   r   r   r   Tr   r_   r`   )r   r   r   r   )r   r   r   zx
r   r   r\   r   r   r   )r   r\   r   r   )r   r   r   rg   r%   r&   r   s       r.   test_replace_end_of_stringr`    s    
08H
IC WW__VS_5F8#(8(@(@I(M7?OP 5=MN68, WW__Xs$_7F3;KLH68, 3;K
LCWW__Y4_8F3;KLH68,r0   c                    | dk(  r	t         }d}nt        |       rdnd}t        j                  }t	        dt        j                  dg|       }|j
                  j                  d      }t	        d	|dg|      }t        j                  ||       t	        dd
t        j                  dg|       }|j
                  j                  d      }t	        d	d	|dg|      }t        j                  ||       |j
                  j                  d      }t	        dd	|dg|      }t        j                  ||       t	        ddt        j                  dg|       }|j
                  j                  d      }t	        dd|dg|      }t        j                  ||       |j
                  j                  d      }t	        dd	|dg|      }t        j                  ||       y )Nr   Fr   r   r   r   r   .*(BAD[_]+).*(BAD)TBAD_BADleroybrown.*BAD[_]+.*BADzBAD[_]+.*BADz^BAD_BADleroybrownz^BAD[_]+.*BADz\^BAD[_]+.*BAD)	r$   r	   r   r!   r   r   rB   r%   r&   )r(   r-   rV   r)   r+   r,   s         r.   
test_matchre    s   5  66FGHY 	 66%rvvu5=MNFZZ23FtXu-^DH68,	.>FVF ZZ./FtT8U3>JH68,ZZn-FudHe4NKH68,	/?GWF ZZo.FueXu5^LH68,ZZ/0FudHe4NKH68,r0   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   r4   r5   rb  F)
r   r   r!   r   r7   r   rB   r{   r%   r&   r8   s      r.   test_match_mixed_objectri  4  s    FFNN
	
E E]$$%9:FtRVVT2662665$PRPVPVWXHff%%%68,r0   c                    t        ddt        j                  g|       }|j                  j	                  dd      }t        |       rt        j                  nd}t        g d|      }t        j                  ||       |j                  j	                  d      }| dk(  r	t        }d}nt        |       rd	nd}t        j                  }t        d
d|g|      }t        j                  ||       y )Nr2   r3   r   Fr   r   )TFFr   r   T)
r   r   r!   r   rB   r	   r'   r%   r&   r$   )r(   rU   r+   r-   r,   rV   s         r.   test_match_na_kwargrk  H  s    S"&&!)9:AUU[[['F12BC  *.AH68,UU[[F5  66FGHY 	 66tUH-^DH68,r0   c                     t        g d|       }|j                  j                  dd      }t        |       rt        j
                  nd}t        g d|      }t        j                  ||       y )Nrv   ABr=  ABCr   rv   Fr   r   TTTTr   r   rB   r	   r   r'   r%   r&   )r(   r)   r+   r-   r,   s        r.   test_match_case_kwargrr  b  s^    .6FGFZZd/F12BC  .nEH68,r0   c                 
   t        |       rt        j                  nd}t        g d|       }|j                  j                  t        j                  d            }t        g d|      }t        j                  ||       d}t        j                  t        |      5  |j                  j                  t        j                  d      d	       d d d        |j                  j                  t        j                  dt        j                  
            }t        g d|      }t        j                  ||       d}t        j                  t        |      5  |j                  j                  t        j                  d      t        j                  
       d d d        |j                  j                  t        j                  dt        j                  
      t        j                  
       y # 1 sw Y    xY w# 1 sw Y   exY w)Nr   rm  r   rv   r   z^Cannot both specify 'case' and pass a compiled regexp object with conflicting case-sensitivityrA   Fr   rc   rp  zTCannot both specify 'flags' and pass a compiled regexp object with conflicting flags)r	   r   r'   r   r   rB   re   rf   r%   r&   rC   rD   rE   rh   )r(   r-   r)   r+   r,   rG   s         r.   test_match_compiled_regexrt  l  sx    22BC  .6FGFZZbjj./F0GH68,	:  
z	- 7

D)67 ZZbjjR]]CDF.nEH68,	/  
z	- @

D)?@ JJRZZBMM:"--P7 7@ @s   1G,?G9,G69Hzpat, case, exprJ  bcz	a[a-z]{1}z	A[a-z]{1}z	(bc)|(ab)z((bc)|(ab))c                     t        ddg|       }|j                  j                  ||      }t        |       rt        j
                  nd}t        ||      }t        j                  ||       y )Nr=  Xabr   r   r   rq  )r(   r*   r   r   rj   r+   r-   r,   s           r.   test_str_match_extra_casesrx    sa     %'7
8CWW]]3T]*F 22BC  c0H68,r0   )FFFFTFFFc                    | dk(  rd\  }}n1| dk(  rd\  }}n&| dk(  rdt         j                  }}nt        d|        t        g d| 	      }|j                  j                  |      }t        g |||	      }t        j                  ||       y )
Nr   r   Nr   r$   Fr_   r   rZ  rx   r   )r}   r   rE   r   r   rB   r%   r&   )r(   r*   r   r-   r\  rj   r+   r,   s           r.   test_match_lookaroundsr}    s     8#&4#	U	"&3#	X	%&//0@/ABCC
/7G
HCWW]]3F33{3>JH68,r0   c                 B   t        |       rt        j                  nd}t        g d|       }|j                  j                  d      }| dk(  r| j                  dk(  rt        g d|      }nt        g d|      }t        j                  ||       |j                  j                  d	      }t        g d|      }t        j                  ||       t        g d
|       }|j                  j                  d      }t        g d|      }t        j                  ||       y )Nr   r   r   r   r_   r`   rq   r   r   r_  r   ry  )	r	   r   r'   r   r   rB   rg   r%   r&   r   s        r.   test_match_end_of_stringr    s     22BC  08H
IC WW]]6"F8#(8(@(@I(M5^L 4NK68, WW]]8$F1HH68, 3;K
LCWW]]9%F1HH68,r0   c                 2   t        ddt        j                  dg|       }|j                  j	                  d      }| dk(  rt        g dt
              }n.t        |       rdnd	}t        d
dt        j                  dg|      }t        j                  ||       y )Nr   rc  r   r   rd  r   ry  r   r   TF	r   r   r!   r   	fullmatchr$   r	   r%   r&   r(   rj   r+   r,   r-   s        r.   test_fullmatchr    s    
	.>FVC WW/0F5 5TB 66FGHY 	 46nM68,r0   c                 2   t        ddt        j                  dg|       }|j                  j	                  d      }| dk(  rt        g dt
              }n.t        |       rdnd	}t        d
d
t        j                  dg|      }t        j                  ||       y )Nr   zfoo$foozfoo$r   zfoo\$r   )FFFTr   r   FTr  r  s        r.   test_fullmatch_dollar_literalr    s    
%BFFF3;K
LCWWx(F5 5TB 66FGHY 	 5%6nM68,r0   c                     t        ddt        j                  dg|       }|j                  j	                  dd      }t        |       rt        j                  nd}t        g d	|      }t        j                  ||       y )
Nr   rc  r   r   rd  Fr   r   ry  )	r   r   r!   r   r  r	   r'   r%   r&   )r(   rj   r+   r-   r,   s        r.   test_fullmatch_na_kwargr    sq    
	.>FVC WW/E:F12BC  1HH68,r0   c                    t        g d|       }t        |       rt        j                  nd}t        g d|      }|j                  j                  dd      }t        j                  ||       t        g d|      }|j                  j                  dd	      }t        j                  ||       |j                  j                  dt        j                  
      }t        j                  ||       y )Nrm  r   r   ry  rv   Tr   ru   Frc   )
r   r	   r   r'   r   r  r%   r&   re   rh   )r(   rj   r-   r,   r+   s        r.   test_fullmatch_case_kwargr    s    
+3C
DC12BC  1HHWWt$/F68,0GHWWt%0F68,WWt2==9F68,r0   c                 8   t        |       rt        j                  nd}t        g d|       }|j                  j                  t        j                  d            }t        g d|      }t        j                  ||       | dk(  re| j                  dk(  rV|j                  j                  t        j                  d      d	      }t        g d
|      }t        j                  ||       nTt        j                  t        d      5  |j                  j                  t        j                  d      d	       d d d        |j                  j                  t        j                  dt        j                              }t        g d
|      }t        j                  ||       t        j                  t        d      5  |j                  j                  t        j                  d      t        j                         d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nr   rm  r   rv   ry  r_   r`   Fr   ru   rb   rA   rc   )r	   r   r'   r   r   r  re   rf   r%   r&   rg   rC   rD   rE   rh   )r(   r-   r)   r+   r,   s        r.   test_fullmatch_compiled_regexr  #  s    22BC  .6FGFZZ!!"**T"23F1HH68, 8#(8(@(@I(M%%bjj&6U%C4NK
vx0]]U
 	? JJ  D!1 >	?
 ZZ!!"**T"GHF0GH68,	Q
 D 	

RZZ-R]]CD D	? 	?D Ds   1H<?HHHzpat, case, na, expr=  )TFFNAbc)FFFNz	a[a-z]{2}abc$zabc\$)FTFNzAbc$zAbc\$z(abc)|(abx)z((abc)|(abx))c                     t        g d|       }|j                  j                  |||      }| dk(  rd|d<   t        }nt	        |       rdnd}t        ||      }t        j                  ||       y )	N)r=  r  z$abcNr   )r   r   r   Fr   r   )r   r   r  r$   r	   r%   r&   )	r(   r*   r   r   r   rj   r+   r-   r,   s	            r.   test_str_fullmatch_extra_casesr  D  su    , .6F
GCWWs"5F5 B 66FGHY 	 c0H68,r0   )rp   rr   rs   rt   rv   c                 .   | dk(  rd\  }}n1| dk(  rd\  }}n&| dk(  rdt         j                  }}nt        d|        t        g d| 	      }|j                  j                  |      }t        d
|dk(  rdnd
d
d
|g|	      }t        j                  ||       y )Nr   r{  r   r|  r_   r   rZ  rx   r   Frv   T)r}   r   rE   r   r   r  r%   r&   )r(   r*   r-   r\  rj   r+   r,   s          r.   test_fullmatch_lookaroundsr  i  s     8#&4#	U	"&3#	X	%&//0@/ABCC
/7G
HCWWs#F	tukJH 68,r0   c                    t        |       rt        j                  nd}t        g d|       }|j                  j                  d      }t        g d|      }t        j                  ||       |j                  j                  d      }t        j                  ||       t        g d|       }|j                  j                  d      }t        g d	|      }t        j                  ||       y )
Nr   r   r   r   rq   r   r_  r   ry  )r	   r   r'   r   r   r  r%   r&   r   s        r.   test_fullmatch_end_of_stringr    s     22BC  08H
IC WWv&F1HH68, WWx(F68, 3;K
LCWWy)F1HH68,r0   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 )Nr   r   r   r   r   BAD__)r   r   r!   r   findallr   r%   r&   r   s       r.   test_findallr    si    
"BFFE59AQ
RCWW__Y'F'eW=>H h/H68,r0   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 )	Nr   r   Tr   r4   r5   r   r  )	r   r   r!   r   r7   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,r0   c                 &   t        g d|       }|j                  j                  |      }| dk(  rd }n:| dk(  rt        j                  }n$| dk(  rt
        j                  }nt        d|        t        g ||      }t        j                  ||       y )Nrx   r   r   r   r_   rZ  )
r   r   r  r   r!   r}   r   rE   r%   r&   r[  s          r.   test_findall_lookaroundsr    s     /7G
HCWW__S!F8#	U	"ff	X	%ee/0@/ABCC33{34H68,r0   c                    t        g d|       }|j                  j                  d      }t        g dgg dggt              }t	        j
                  ||       |j                  j                  d      }t        g dgg g gt              }t	        j
                  ||       t        g d|       }|j                  j                  d      }t        dgg g g gt              }t	        j
                  ||       y )Nr   r   r   r\   r   r_  r   )r   r   r  r   r%   r&   r   s       r.   test_findall_end_of_stringr    s    
08H
IC WW__V$FrE7B0?H68, WW__X&FrE7B+6:H68, 3;K
LCWW__Y'Fz2r2.f=H68,r0   c           
      X
   t        g d|       }t        |       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)   r?   r4   r   r  )r        r  r  r?   )r  r?   r  r  r     )r  r?   r  r  r  )r   r	   r   int64r   findr%   r&   r    assert_numpy_array_equalrfind)r(   rj   r-   r+   r,   vs         r.   	test_findr    sW   
=EUC 22BC  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=Aaq)ARHrxx @(KWW\\$1%F'~>H68,xxRXXc]Ca+C288THrxx @(KWW]]4A&F'~>H68,xxbhhsmDq!,DBHHUHrxx @(K? > ? A B D Es$   T!T0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 intrA   r   )r   rC   rD   r   r   r  r  )r(   rj   s     r.   test_find_bad_arg_raisesr  (  s}    
+
,C	y(K	L Q 
y(K	L a   s   B(BBB"c                    t        dt        j                  dt        j                  dg|       }t        |       r!t        j                  }t        j                  }nd}t
        j                  }|j                  j                  d      }t        d|d|d	g|      }t        j                  ||       |j                  j                  d      }t        d|d
|d	g|      }t        j                  ||       |j                  j                  dd      }t        d|d
|d	g|      }t        j                  ||       |j                  j                  dd      }t        d|d
|d	g|      }t        j                  ||       |j                  j                  ddd      }t        d|d	|d	g|      }t        j                  ||       |j                  j                  ddd      }t        d|d	|d	g|      }t        j                  ||       y )Nr  r  r  r   r  r  r  r4   r  r  r?   r  )r   r   r!   r	   float64r}   r   r   r  r%   r&   r  )r(   rj   r-   itemr+   r,   s         r.   test_find_nanr  1  s   
	BFFK8@PC %%56vv uuWW\\$Fq$4,NCH68,WW]]4 Fq$4,NCH68,WW\\$"Fq$4,NCH68,WW]]4#Fq$4,NCH68,WW\\$1%Fq$D"-^DH68,WW]]4A&Fq$D"-^DH68,r0   infer_string)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+   r,   s          r.   test_translater  Z  sZ     08HC MM%'EWWu%F08HH OOFH%r0   c                      t        g d      } t        j                  dd      }t        dddt        j                  gt
              }| j                  j                  |      }t        j                  ||       y )N)r2   r3   r<   g333333?r=  r  r<   der   )	r   r   r  r   r!   r   r  r%   r&   )rU   r  r,   r+   s       r.   test_translate_mixed_objectr  i  sX    #$AMM%'EsCbff-V<HUU__U#F68,r0   c                    dddt         j                  d}t        ||       }d}|j                  j	                  |t
        j                  d      }|j                  d	   j                         g d
k(  sJ |j                  j                  |t
        j                        }|j                  d	   sJ |j                  j                  |t
        j                        }|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)Nzdave@google.comzsteve@gmail.comzrob@gmail.com)DaveSteveRobWesr   z,([A-Z0-9._%+-]+)@([A-Z0-9.-]+)\.([A-Z]{2,4})T)rd   expandr   )davegooglecomrc   r4   zhas match groupsrA   )r   r!   r   r   extractre   rh   iloctolistrB   r  r  countr%   assert_produces_warningUserWarningr#   )r(   r   r*   r+   rG   s        r.   test_flags_kwargr  u  s   !"vv	D $./D
9CXXctDF;;q>  "&????XX^^Cr}}^5F;;q>>XX2==9F;;q>>XXc7F;;q>! 9999XX^^Cr}}^5F;;q>Q
C		#	#Ks	; =""3bmm"<=;;q>>= =s   ,GGr   )`r   re   numpyr   rC   pandas._libsr   pandas.util._test_decoratorsutil_test_decoratorstdpandasr}   r   r   r   r%   pandas.tests.stringsr   r	   r/   r:   r>   r  parametrizer   r!   rH   rW   rZ   rk   ro   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  
skip_if_nor!  r&  r*  r,  r.  r3  r6  r:  r>  r@  rH  rL  rO  rT  r]  r`  re  ri  rk  rr  rt  rx  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  paramr  r  r  r   r0   r.   <module>r     s    	    ) )  
[-|-"-0 	ruu	
 4-01 1
1"1-h->!3H-0 	/0	01	./	/0	*+	 eRVVT255QR- S	->'-^
*  788Z"89bffbee'<=e}-# . > : 9#@ 23( 4(D  788Z"89bffbee'<=e}-# . > : 9#@ 23( 4(>?1-	--- $C:!67"24I!JK# L 8#- 
\,.GH
2
2  )m,	

 m,	

 !m,	

 V	

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