o
     \iٶ                     @   sj  d dl m Z  d dlZd dlZd dlZd dlm  mZ d dl	Z
d dl	mZmZ d dlmZmZ dd Zdd Zd	d
 Zejdde
jfddddeje
jfgejdddgdd Zdd Zdd Zdd Zdd Zdd Zejdejd d!d"gejd#d$d%gejd&deje
jgejd'ddgd(d) Zejd'g d*d+d, Z ejdejd d!d"gejd#d$d%gejd&deje
jgejd'ddgd-d. Z!ejd'g d*d/d0 Z"d1d2 Z#d3d4 Z$d5d6 Z%d7d8 Z&ejd9dd:d;d<igejd=g d>g d?gd@dA Z'dBdC Z(ejd9dDdE dFdE ddGdEgdHdI Z)ejjdJdKdLdMgfdNdLdMgfdOdPdQgfdRdSdTgfgg dUdVejdWddgdXdY Z*ejd9dZd[gejdWddgd\d] Z+d^d_ Z,d`da Z-dbdc Z.ddde Z/dfdg Z0dhdi Z1ejdjddkdkejgfddkd!ejgfgdldm Z2dndo Z3dpdq Z4drds Z5dtdu Z6dvdw Z7ejdddgdxdy Z8dzd{ Z9d|d} Z:d~d Z;dd Z<dd Z=ejdddddggddddggddddggddddggddddggddddggddddgggdd Z>dd Z?dd Z@dd ZAdd ZBdd ZCejddd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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dd ZDdd ZEdd ZFdd ZGdd ZHdd ZIejddejJdeKddgdd ZLdd ZMdd ZNdS )    )datetimeN)Series_testing)_convert_na_valueis_object_or_nan_string_dtypec                 C   s  t jdt jdddgt jd}t|| d}d}|j|}| dkr)tg dtd}nt| r/d	nd
}tt jdt jdddgt jd|d}t	
|| |jj|dd}| dkr^tg dtd}ntt jdt jdddgt jd|d}t	
|| tt jg dtd| d}|j|}t| rt jnd
}tt g d|d}t	
|| tt jg dtd| d}|jjddd}tt g d|d}t	
|| |jjdddd}tt g d|d}t	
|| tt jdt jddgt jd| d}d}|j|}| dkr
tg dtd}nt| rd	nd
}tt jdt jddgt jd|d}t	
|| |jj|dd}t| r:t jnd
}tt g d|d}t	
|| tt jg dt jd| d}|j|}tt g d|d}t	
|| d S )Nfoofooommm__foommm_zfoommm[_]+bardtypezmmm[_]+str)FFTTFobjectbooleanFTregex)FFFFT)r   xyzr   r	   )FFTT)FooxYzfOOomMm__fOoMMM_zFOO|mmmcase)TFTT)r   r   TFTFna)nparraynanobject_r   r   containsboolr   tmassert_series_equalr   bool_)any_string_dtypevaluespatresultexpectedexpected_dtype r*   /var/www/www-root/data/www/176.119.141.140/sports-predictor/venv/lib/python3.10/site-packages/pandas/tests/strings/test_find_replace.pytest_contains   s   
r,   c                  C   sv   t tjdtjddt dd ddg	td} | jd}t tjd	tjd	tjtjdd tjtjg	tj	d}t
|| d S )
NabTr             @r
   oF)r   r   r   r   r   todayr   r   r   r   r!   r"   mixedr'   r(   r*   r*   r+   test_contains_object_mixedv   s   r5   c                  C   s   t ddddtjgdd} | jjddd}t g d}t|| | jjdd	d}t g d
}t|| t ddddtjg} | jjddd}t g d}t|| | jjdd	d}t g d
}t|| d S )Nr-   r.   ccategoryr
   Tr   )TFFTTF)TFFTF)r   r   r   r   r   r!   r"   )r%   r'   r(   r*   r*   r+   *test_contains_na_kwarg_for_object_category   s   r8   zna, expected)TT)FF)r   F)   Tr   TFc                 C   s   t ddddtjg| d}d}d }t|st|tst}tj	||d |j
jd||d}W d    n1 s7w   Y  t dd	d	d|gd
d}t|| d S )Nr-   r.   r6   r
   ]Allowing a non-bool 'na' in obj.str.contains is deprecated and will raise in a future versionmatch)r   r   TFr   )r   r   r   pdisna
isinstancer    FutureWarningr!   assert_produces_warningr   r   r"   )nullable_string_dtyper   r(   r   r%   msgwarnr'   r*   r*   r+   0test_contains_na_kwarg_for_nullable_string_dtype   s   rE   c                 C   sn  t ddddddtjddd	g
| d
}|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
|d
}t|| |jjddd}t dddddd|dddg
|d
}t|| |jd}t dddddd|dddg
|d
}t|| |jd}t dddddd|dddg
|d
}t|| |jjddd}t dddddd|dddg
|d
}t|| d S )NABCAabaBaca CABAdogcatr
   r-   r   Fr   r   Tr   Aaba)	r   r   r   r   r   r    r   r!   r"   )r$   sr'   r)   na_valuer(   r*   r*   r+   test_contains_moar   sP   rS   c                 C   s  t tjtjtjg| d}|jjddd}t| rtjnd}t g d|d}t|| |jjddd}t g d|d}t|| t	| d	rQ| j
d
krQ| jtju sd}tjt|d |jjddd}W d    n1 smw   Y  | dkrt g dtjd}n| jtju rt g dtjd}nt g ddd}t|| |jd}| dkrt g dtd}nt| rdnd}t tjtjtjg|d}t|| d S )Nr
   r   Fr   r   FFFT)TTTstoragepythonr:   r;   r   )r   r   r   r   )r   r   r   r   r   r   r#   r!   r"   hasattrrU   rR   rA   r@   r   r    )r$   rQ   r'   r)   r(   rC   r*   r*   r+   test_contains_nan   s>   
rX   c                 C   sP  t | rtjnd}tg d| d}td}|j|}tg d|d}t	|| | dkrJ| j
dkrJ|jj|dd	}tg d
|d}t	|| ntjtdd |jj|dd	 W d    n1 sdw   Y  tjdtjd}|j|}tg d
|d}t	|| tjtdd |jj|tjd W d    d S 1 sw   Y  d S )Nr   )r   barBazr
   zba.FTFstringpyarrowFr   FTT5cannot process flags argument with a compiled patternr;   flags)r   r   r#   r   recompiler   r   r!   r"   rU   pytestraises
ValueError
IGNORECASEr$   r)   serr&   r'   r(   r*   r*   r+   test_contains_compiled_regex%  s2   
"rj   c                 C   s   t | rtjnd}tg d| d}td}|j|}tg d|d}t	|| tjdtj
d}|j|}tg d|d}t	|| tjdtj
tjB d}|j|}tg d|d}t	|| d S )	Nr   )foobarzfoo
barrZ   r
   z^barT   r`   r[   r^   )r   r   r#   r   rb   rc   r   r   r!   r"   	MULTILINErg   rh   r*   r*   r+   "test_contains_compiled_regex_flagsI  s   
rm   c                 C   s   |dkr|j tju r|jdkr| tjjdd tdtjdddtjd	g|d
}d}t	j
t|d |jjddd W d    n1 sDw   Y  d}t	j
t|d |jjddd W d    d S 1 sfw   Y  d S )Nr\   rV   zTODO(infer_string))reasonomfoo_nomnombar_foor   r
   z<Allowing a non-bool 'na' in obj.str.startswith is deprecatedr;   kapowbazr   z:Allowing a non-bool 'na' in obj.str.endswith is deprecatedrY   )rR   r   r   rU   applymarkerrd   markxfailr   r!   rA   r@   r   
startswithendswith)requestr$   ri   rC   r*   r*   r+   $test_startswith_endswith_validate_naf  s    
"r{   z4ignore:Downcasting object dtype arrays:FutureWarningr&   r   )r   rt   r   r   r7   
null_valuer   c              
   C   sB  t d|ddd|dg|d}|j| }t dtjdddtjdg}|d	kr/|tju r/||}n|d	kr>|d u r>d || < n|rL|d
krL|d	t
}t|| |jj| |d}t d|ddd|dg}t|| tjdtjddt dd ddg	tjd}t |jd}	t dtjdtjtjdd tjtjg	}
t|	|
 d S Nro   rp   rq   rr   r   r
   FTr   r7   r   r-   r.   r/   r0   f)r   r   rx   r   r   r=   NAfillnar>   astyper    r!   r"   r   r   r2   r   r&   r   r|   r   using_infer_stringr%   r'   expr4   rsxpr*   r*   r+   test_startswith{  s.   $r   )NTFc              
   C   s   t g d| d}|jjd|d}t| r|d u rtntnd}| dkr*t}|d u r*d}t d|ddd|dddg	|d}t|| |jjd	|d}t d|ddd|dddg	|d}t|| d S 
N)	ro   Nrp   rq   rr   Nr   r   rege.r
   r   r   r   r   FTr   )r   r   rx   r   r   r    r!   r"   r$   r   r%   r'   r)   r   r*   r*   r+   test_startswith_string_dtype  s,   r   c              
   C   s@  t d|ddd|dg|d}|j| }t dtjdddtjdg}|d	kr/|tju r/||}n|d	kr>|d u r>d || < n|rL|d
krL|d	t
}t|| |jj| |d}t d|ddd|dg}t|| tjdtjddt dd ddg	td}t |jd}	t dtjdtjtjdd tjtjg	}
t|	|
 d S r}   )r   r   ry   r   r   r=   r   r   r>   r   r    r!   r"   r   r   r2   r   r   r*   r*   r+   test_endswith  s.   $r   c              
   C   s   t g d| d}|jjd|d}t| r|d u rtntnd}| dkr*t}|d u r*d}t d|ddd|dddg	|d}t|| |jjd	|d}t d|ddd|dddg	|d}t|| d S r   )r   r   ry   r   r   r    r!   r"   r   r*   r*   r+   test_endswith_string_dtype  s,   r   c                 C   sF   t dtjg| d}|jjdddd}t dtjg| d}t|| d S )NfooBAD__barBADr
   BAD[_]*rK   Tr   rk   r   r   r   r   replacer!   r"   r$   ri   r'   r(   r*   r*   r+   test_replace
  s   r   c                 C   sz   t dtjg| d}t dtjg| d}|jjddddd}t|| t d	tjg| d}|jjd
dddd}t|| d S )Nr   r
   	foobarBADr   rK   r/   Tnr   foo__barBADBADFr   r$   ri   r(   r'   r*   r*   r+   test_replace_max_replacements  s   r   c               
   C   sn   t dtjddt dd ddg	} t | jjdddd	}t d
tjdtjtjdd tjtjg	td}t	|| d S )NaBADbBADTfooBADr/   r0   r   rK   r   r-   r.   r   r
   )
r   r   r   r   r2   r   r   r   r!   r"   ri   r'   r(   r*   r*   r+   test_replace_mixed_object  s    r   c                 C   sN   t ddg| d}t ddg| d}|jjddtjdd}t|| d S )	N   abcd,àutf-8r
      abcd, à(?<=\w),(?=\w), Tra   r   )r   decoder   r   rb   UNICODEr!   r"   r   r*   r*   r+   test_replace_unicode)  s   r   replr9   r-   r.   data)r-   r.   N)r-   r.   r6   adc                 C   sR   d}||| d}t jt|d |jd| W d    d S 1 s"w   Y  d S )Nz!repl must be a string or callabler
   r;   r-   )rd   re   	TypeErrorr   r   )r$   index_or_seriesr   r   rC   objr*   r*   r+   #test_replace_wrong_repl_type_raises0  s
   "r   c                 C   sP   t dtjg| d}dd }|jjd|ddd}t d	tjg| d}t|| d S )
Nr   r
   c                 S      |  d S Nr   groupswapcasemr*   r*   r+   <lambda>?      z'test_replace_callable.<locals>.<lambda>[a-z][A-Z]{2}   Tr   foObaD__baRbaDr   )r$   ri   r   r'   r(   r*   r*   r+   test_replace_callable:  s
   r   c                   C      d S Nr*   r*   r*   r*   r+   r   F      r   c                 C   r   r   r*   )r   xr*   r*   r+   r   F  r   c                 C   r   r   r*   )r   r   yr*   r*   r+   r   F  r   c                 C   s\   t dtjg| d}d}tjt|d |jjd|dd W d    d S 1 s'w   Y  d S )Nr   r
   zO((takes)|(missing)) (?(2)from \d+ to )?\d+ (?(3)required )positional arguments?r;   r-   Tr   )r   r   r   rd   re   r   r   r   )r$   r   r%   rC   r*   r*   r+   test_replace_callable_raisesE  s   "r   zrepl, expected_listz\g<three> \g<two> \g<one>zThree Two OnezBaz Bar Fooz\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_full_swapsingle_group_with_literal"mixed_group_reference_with_literal)idsuse_compilec                 C   sP   t ddg| d}d}|rt|}|jj||dd}t || d}t|| d S )NOne Two ThreeFoo Bar Bazr
   ((?P<one>\w+) (?P<two>\w+) (?P<three>\w+)Tr   )r   rb   rc   r   r   r!   r"   )r$   r   r   expected_listri   patternr'   r(   r*   r*   r+   $test_replace_named_groups_regex_swapU  s    
r   z\g<20>z\20c                 C   sj   d}|r	t |}tddg| d}tjt jdd |jj||dd W d    d S 1 s.w   Y  d S )	Nr   r   r   r
   zinvalid group referencer;   Tr   )rb   rc   r   rd   re   errorr   r   )r$   r   r   r   ri   r*   r*   r+   2test_replace_named_groups_regex_swap_expected_fail~  s   
"r   c                 C   sR   t dtjg| d}d}dd }|jj||dd}t dtjg| d}t|| d S )	Nr   r
   z,(?P<first>\w+) (?P<middle>\w+) (?P<last>\w+)c                 S   r   )Nmiddler   r   r*   r*   r+   r     r   z4test_replace_callable_named_groups.<locals>.<lambda>Tr   bARr   )r$   ri   r&   r   r'   r(   r*   r*   r+   "test_replace_callable_named_groups  s   r   c                 C   s   t dtjg| d}td}|jj|ddd}t dtjg| d}t|| |jj|dddd	}t d
tjg| d}t|| d S )Nr   r
   BAD_*rK   Tr   rk   r/   r   r   	r   r   r   rb   rc   r   r   r!   r"   )r$   ri   r&   r'   r(   r*   r*   r+   test_replace_compiled_regex  s   
r   c               
   C   sx   t d} tdtjddt 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	d}t
|| d S )Nr   r   r   Tr   r/   r0   rK   r   r-   r.   r   r
   )rb   rc   r   r   r   r   r2   r   r   r   r!   r"   )r&   ri   r'   r(   r*   r*   r+   (test_replace_compiled_regex_mixed_object  s   
 r   c                 C   sZ   t ddg| d}t ddg| d}tjdtjd}|jj|ddd	}t|| d S )
Nr   r   r
   r   r   r`   r   Tr   )	r   r   rb   rc   r   r   r   r!   r"   )r$   ri   r(   r&   r'   r*   r*   r+   #test_replace_compiled_regex_unicode  s
   r   c                 C   s   t dtjg| d}td}d}tjt|d |jj	|dtj
dd W d    n1 s-w   Y  tjt|d |jj	|dd	dd
 W d    n1 sNw   Y  tjt|d |jj	|dddd
 W d    d S 1 spw   Y  d S )NfooBAD__barBAD__badr
   r   z9case and flags cannot be set when pat is a compiled regexr;   rK   Tr   Fr   r   )r   r   r   rb   rc   rd   re   rf   r   r   rg   r$   ri   r&   rC   r*   r*   r+   "test_replace_compiled_regex_raises  s   
"r   c                 C   sZ   t dtjg| d}dd }td}|jj||ddd}t d	tjg| d}t|| d S )
Nr   r
   c                 S   r   r   r   r   r*   r*   r+   r     r   z6test_replace_compiled_regex_callable.<locals>.<lambda>r   r   Tr   r   r   )r$   ri   r   r&   r'   r(   r*   r*   r+   $test_replace_compiled_regex_callable  s   
r   zregex,expectedbaoc                 C   sB   t ddtjg|d}t ||d}|jjdd| d}t|| d S )Nzf.or   r
   zf.rP   r   r   )r   r(   r$   ri   r'   r*   r*   r+   test_replace_literal  s   r   c                 C   s^   t g | d}dd }d}tjt|d |jjd|dd W d    d S 1 s(w   Y  d S )	Nr
   c                 S   r   r   r   r   r*   r*   r+   r     r   z6test_replace_literal_callable_raises.<locals>.<lambda>z2Cannot use a callable replacement when regex=Falser;   abcFr   )r   rd   re   rf   r   r   )r$   ri   r   rC   r*   r*   r+   $test_replace_literal_callable_raises  s   "r   c                 C   s`   t g | d}td}d}tjt|d |jj|ddd W d    d S 1 s)w   Y  d S )Nr
   r   zCCannot use a compiled regex as replacement pattern with regex=Falser;   rK   Fr   )r   rb   rc   rd   re   rf   r   r   r   r*   r*   r+   $test_replace_literal_compiled_raises  s   
"r   c                 C   s   t ddddddtjddd	g
| d
}|jdd}t ddddddtjddd	g
| d
}t|| |jjdddd}t ddddddtjdddg
| d
}t|| |jjddddd}t ddddddtjdddg
| d
}t|| d S )NrF   rG   rH   rI   rJ   rK   rL   rM   rN   r
   YYYYYYabaCYYYBYYYFr   
YYYYYYbYYYBYYYcYYYcYYYtz^.a|dogzXX-XX Tr   zXX-XX bazXX-XX cazXX-XX BAzXX-XX tr   r   r*   r*   r+   test_replace_moar  sT   r   c                 C   s   t ddddtjg| d}|jjddddd	}t d
d
ddtjg| d}t|| |jjdd
ddd	}t d
d
ddtjg| d}t|| d S )NzA.za.Ababr
   r-   r6   Fr   zc.cbr   r   r*   r*   r+   )test_replace_not_case_sensitive_not_regex,  s   r   c                 C   sR   t dddtjdg| d}|jjdddd}t dddtjdg| d}t|| d S )	Nr-   r.   acrK   r
   z^.$Tr   r   )r$   rQ   r'   r(   r*   r*   r+   test_replace_regex9  s   r   c                 C   sp   t dddtjdg|d}|jjdd| d}| r$t dddtjdg|d}nt d	ddtjdg|d}t|| d S )
Nza.b.r.   rK   r
   r-   r   aaaaabr   )r   r$   rQ   r'   r(   r*   r*   r+   #test_replace_regex_single_characterA  s   r   c                 C   sF  | dkr	t }d}nt| rdnd}tj}tdtjdg| d}|jd}td	|dg|d}t|| tdd
tjdg| d}|jd}td	d	|dg|d}t|| |jd}tdd	|dg|d}t|| tddtjdg| d}|jd}tdd|dg|d}t|| |jd}tdd	|dg|d}t|| d S )Nr   Fr   r   r   r   r
   .*(BAD[_]+).*(BAD)TBAD_BADleroybrown.*BAD[_]+.*BADzBAD[_]+.*BADz^BAD_BADleroybrownz^BAD[_]+.*BADz\^BAD[_]+.*BAD)	r    r   r   r   r   r   r<   r!   r"   )r$   r)   rR   r%   r'   r(   r*   r*   r+   
test_matchT  s8   r   c               
   C   sr   t dtjddt dd ddg	} t | jd}t dtjdtjtjdd tjtjg	}t|t s1J t	|| d S )	NaBAD_BAD	BAD_b_BADTr   r/   r0   r   F)
r   r   r   r   r2   r   r<   r?   r!   r"   r3   r*   r*   r+   test_match_mixed_object{  s    $r   c                 C   s   t ddtjg| d}|jjddd}t| rtjnd}t g d|d}t|| |jd}| dkr8t	}d}nt| r>d	nd}tj}t d
d|g|d}t|| d S )Nr-   r.   r
   Fr   r   )TFFr   r   T)
r   r   r   r   r<   r   r#   r!   r"   r    )r$   rQ   r'   r)   r(   rR   r*   r*   r+   test_match_na_kwarg  s   r   c                 C   sR   t g d| d}|jjddd}t| rtjnd}t g d|d}t|| d S )Nr   ABr   ABCr
   r   Fr   r   TTTTr   r   r<   r   r   r#   r!   r"   )r$   r%   r'   r)   r(   r*   r*   r+   test_match_case_kwarg  s   r  c                 C   Z  t | rtjnd}tg d| d}|jtd}tg d|d}t	|| | dkrK| j
dkrK|jjtddd	}tg d
|d}t	|| n"tjtdd |jjtddd	 W d    n1 shw   Y  |jtjdtjd}tg d
|d}t	|| tjtdd |jjtdtjd W d    d S 1 sw   Y  d S )Nr   r   r
   r   r   r\   r]   Fr   r  r_   r;   r`   )r   r   r#   r   r   r<   rb   rc   r!   r"   rU   rd   re   rf   rg   r$   r)   r%   r'   r(   r*   r*   r+   test_match_compiled_regex  .   "r  zpat, case, expr   r   bcz	a[a-z]{1}z	A[a-z]{1}z	(bc)|(ab)z((bc)|(ab))c                 C   sN   t ddg| d}|jj||d}t| rtjnd}t ||d}t|| d S )Nr   Xabr
   r   r   r  )r$   r&   r   r   ri   r'   r)   r(   r*   r*   r+   test_str_match_extra_cases  s   r
  c                 C   sr   t ddtjdg| d}|jd}| dkrt g dtd}nt| r$dnd	}t d
dtjdg|d}t|| d S )Nr   r   r   r
   r   r   TFFFr   r   TF	r   r   r   r   	fullmatchr    r   r!   r"   r$   ri   r'   r(   r)   r*   r*   r+   test_fullmatch  s   r  c                 C   sr   t ddtjdg| d}|jd}| dkrt g dtd}nt| r$dnd	}t d
d
tjdg|d}t|| d S )Nr   zfoo$foozfoo$r
   zfoo\$r   )FFFTr   r   FTr  r  r*   r*   r+   test_fullmatch_dollar_literal  s   r  c                 C   sX   t ddtjdg| d}|jjddd}t| rtjnd}t g d	|d}t|| d S )
Nr   r   r   r
   r   Fr   r   r  )	r   r   r   r   r  r   r#   r!   r"   )r$   ri   r'   r)   r(   r*   r*   r+   test_fullmatch_na_kwarg  s   r  c                 C   s   t g d| d}t| rtjnd}t g d|d}|jjddd}t|| t g d|d}|jjdd	d}t|| |jjdtj	d
}t|| d S )Nr   r
   r   r  r   Tr   TTFFFr`   )
r   r   r   r#   r   r  r!   r"   rb   rg   )r$   ri   r)   r(   r'   r*   r*   r+   test_fullmatch_case_kwarg  s   r  c                 C   r  )Nr   r   r
   r   r  r\   r]   Fr   r  r_   r;   r`   )r   r   r#   r   r   r  rb   rc   r!   r"   rU   rd   re   rf   rg   r  r*   r*   r+   test_fullmatch_compiled_regex1  r  r  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           	      C   sd   t g d| d}|jj|||d}| dkrd|d< t}nt| r"dnd}t ||d}t|| d S )	N)r   r  z$abcNr
   )r   r   r   Fr   r   )r   r   r  r    r   r!   r"   )	r$   r&   r   r   r   ri   r'   r)   r(   r*   r*   r+   test_str_fullmatch_extra_casesR  s   r  c                 C   sT   t dtjddg| d}|jd}t ddgtjg dgg}t||}t|| d S )Nr   r   r   r
   r   BAD__)r   r   r   r   findallr   r!   r"   r   r*   r*   r+   test_findall|  s
   
r  c               
   C   sf   t dtjddt dd ddg	} | jd}t ddgtjg tjtjdgd tjtjg	}t|| d S )	Nr   r   Tr   r/   r0   r   r  )	r   r   r   r   r2   r   r  r!   r"   r   r*   r*   r+   test_findall_mixed_object  s4   r  c                 C   sr  t g d| d}t| rtjnd}|jd}t g d|d}t|| tjdd t|D tjd}t	tj|tjd| |j
d}t g d|d}t|| tjd	d t|D tjd}t	tj|tjd| |jdd
}t g d|d}t|| tjdd t|D tjd}t	tj|tjd| |j
dd
}t g d|d}t|| tjdd t|D tjd}t	tj|tjd| |jdd
d}t g d|d}t|| tjdd t|D tjd}t	tj|tjd| |j
dd
d}t g d|d}t|| tjdd t|D tjd}t	tj|tjd| d S )N)ABCDEFGBCDEFEF	DEFGHIJEFEFGHEFXXXXr
   Int64EF)   r9   r/   r   r  c                 S      g | ]}| d qS r#  find.0vr*   r*   r+   
<listcomp>      ztest_find.<locals>.<listcomp>)r$        r$  r  c                 S   r%  r&  rfindr)  r*   r*   r+   r,    r-  r9   )r$  r9   r/  r$  r  c                 S      g | ]}| d dqS r#  r9   r'  r)  r*   r*   r+   r,        c                 S   r2  r3  r0  r)  r*   r*   r+   r,    r4     )r$  r9   r  r$  r  c                 S      g | ]	}| d ddqS r#  r9   r5  r'  r)  r*   r*   r+   r,        c                 S   r6  r7  r0  r)  r*   r*   r+   r,    r8  )r   r   r   int64r   r(  r!   r"   r   assert_numpy_array_equalr1  r$   ri   r)   r'   r(   r*   r*   r+   	test_find  sF         r<  c                 C   s   t g | d}tjtdd |jd W d    n1 sw   Y  tjtdd |jd W d    d S 1 s<w   Y  d S )Nr
   z!expected a string object, not intr;   r   )r   rd   re   r   r   r(  r1  )r$   ri   r*   r*   r+   test_find_bad_arg_raises  s   "r=  c                 C   sh  t dtjdtjdg| d}t| rtjnd}|jd}t dtjdtjd	g|d}t|| |j	d}t dtjd
tjd	g|d}t|| |jdd}t dtjd
tjd	g|d}t|| |j	dd}t dtjd
tjd	g|d}t|| |jddd}t dtjd	tjd	g|d}t|| |j	ddd}t dtjd	tjd	g|d}t|| d S )Nr  r  r!  r
   r"  r#  r$  r/   r  r/  r9   r5  )
r   r   r   r   float64r   r(  r!   r"   r1  r;  r*   r*   r+   test_find_nan  s.   r?  infer_stringr]   )marksc                 C   sH   | g d|d}t dd}|j |}| g d|d}t|| d S )N)abcdefgabcccdddfgcdefgggr
   r   cde)cdedefgcdeeedddfgedefggg)r   	maketrans	translater!   assert_equal)r   r$   r@  r   tabler'   r(   r*   r*   r+   test_translate  s   rO  c                  C   sJ   t g d} tdd}t dddtjgtd}| j|}t|| d S )N)r-   r.   r6   g333333?r   rF  r6   der
   )	r   r   rK  r   r   r   rL  r!   r"   )rQ   rN  r(   r'   r*   r*   r+   test_translate_mixed_object  s
   rR  c                 C   s0  dddt jd}t|| d}d}|jj|tjdd}|jd	  g d
ks'J |jj	|tjd}|jd	 s7J |jj
|tjd}|jd	 sGJ |jj|tjd}|jd	 d	 d
ks[J |jj|tjd}|jd	 dksmJ d}tjt|d |jj|tjd}W d    n1 sw   Y  |jd	 sJ d S )Nzdave@google.comzsteve@gmail.comzrob@gmail.com)DaveSteveRobWesr
   z,([A-Z0-9._%+-]+)@([A-Z0-9.-]+)\.([A-Z]{2,4})T)ra   expandr   )davegooglecomr`   r/   zhas match groupsr;   )r   r   r   r   extractrb   rg   iloctolistr<   r  r  countr!   rA   UserWarningr   )r$   r   r&   r'   rC   r*   r*   r+   test_flags_kwarg!  s,   r`  r   )Or   rb   numpyr   rd   pandas.util._test_decoratorsutil_test_decoratorstdpandasr=   r   r   r!   pandas.tests.stringsr   r   r,   r5   r8   rv   parametrizer   r   rE   rS   rX   rj   rm   r{   filterwarningsr   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  r  r  r  r  r  r  r<  r=  r?  param
skip_if_norO  rR  r`  r*   r*   r*   r+   <module>   s,   
^
42$
 

" 
!


 
		3
'
!
!
&-	&
