o
    %jٶ                     @   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   Zxyzr   r	   )FFTT)ZFooZxYzZfOOomMm__fOoZ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%   g/var/www/html/Deteccion_Ine/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   r0   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   r3   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)   r1   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   )Znullable_string_dtyper   r#   r   r    msgwarnr"   r%   r%   r&   0test_contains_na_kwarg_for_nullable_string_dtype   s   r?   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   ZAaba)	r   r   r   r   r   r   r   r   r   )r   sr"   r$   na_valuer#   r%   r%   r&   test_contains_moar   sP   rL   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pythonr5   r6   r   )r   r   r   r   )r   r   r   r   r   r   r   r   r   hasattrrN   rK   r<   r;   r   r   )r   rJ   r"   r$   r#   r=   r%   r%   r&   test_contains_nan   s>   
rQ   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 patternr6   flags)r   r   r   r   recompiler   r   r   r   rN   pytestraises
ValueError
IGNORECASEr   r$   serr!   r"   r#   r%   r%   r&   test_contains_compiled_regex%  s2   
"rc   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
barrS   r
   z^barM   rY   rT   rW   )r   r   r   r   r[   r\   r   r   r   r   	MULTILINEr`   ra   r%   r%   r&   "test_contains_compiled_regex_flagsI  s   
rf   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 )NrU   rO   zTODO(infer_string))reasonomfoo_nomnombar_foor   r
   z<Allowing a non-bool 'na' in obj.str.startswith is deprecatedr6   Zkapowbazr   z:Allowing a non-bool 'na' in obj.str.endswith is deprecatedrR   )rK   r   r   rN   Zapplymarkerr]   markZxfailr   r   r<   r;   r   
startswithendswith)requestr   rb   r=   r%   r%   r&   $test_startswith_endswith_validate_naf  s    
"rq   z4ignore:Downcasting object dtype arrays:FutureWarningr!   r   )r   rl   r   r   r2   
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 Nrh   ri   rj   rk   r   r
   FTr   r2   r   r(   r)   r*   r+   f)r   r   rn   r   r   r8   NAfillnar9   astyper   r   r   r   r   r-   r   r!   r   rr   r   Zusing_infer_stringr    r"   expr/   rsZ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)	rh   Nri   rj   rk   Nr   r   rege.r
   r   r   r   r   FTr}   )r   r   rn   r   r   r   r   r   r   r   r    r"   r$   ry   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 rs   )r   r   ro   r   r   r8   ru   rv   r9   rw   r   r   r   r   r   r-   r   rx   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   ro   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[_]*rE   Tr   rd   r   r   r   r   replacer   r   r   rb   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   rE   r*   Tnr   Zfoo__barBADBADFr   r   rb   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*   r+   r   rE   r   r(   r)   r   r
   )
r   r   r   r   r-   r   r   r   r   r   rb   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rZ   r   )r   decoder   r   r[   UNICODEr   r   r   r%   r%   r&   test_replace_unicode)  s   r   replr4   r(   r)   data)r(   r)   N)r(   r)   r1   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
   r6   r(   )r]   r^   	TypeErrorr   r   )r   index_or_seriesr   r   r=   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   rb   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?r6   r(   Tr   )r   r   r   r]   r^   r   r   r   )r   r   r    r=   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>0ZTwo0ZBar0z	\g<2>0 \1zTwo0 OnezBar0 Foo)Znamed_groups_full_swapZnumbered_groups_full_swapZsingle_group_with_literalZ"mixed_group_reference_with_literal)Z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   r[   r\   r   r   r   r   )r   r   r   Zexpected_listrb   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 referencer6   Tr   )r[   r\   r   r]   r^   errorr   r   )r   r   r   r   rb   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   ZbARr   )r   rb   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_*rE   Tr   rd   r*   r   r   	r   r   r   r[   r\   r   r   r   r   )r   rb   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*   r+   rE   r   r(   r)   r   r
   )r[   r\   r   r   r   r   r-   r   r   r   r   r   )r!   rb   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   rY   r   Tr   )	r   r   r[   r\   r   r   r   r   r   )r   rb   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 )NZfooBAD__barBAD__badr
   r   z9case and flags cannot be set when pat is a compiled regexr6   rE   Tr   Fr   r   )r   r   r   r[   r\   r]   r^   r_   r   r   r`   r   rb   r!   r=   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   rb   r   r!   r"   r#   r%   r%   r&   $test_replace_compiled_regex_callable  s   
r   zregex,expectedZ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.rI   r   r   )r   r#   r   rb   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=Falser6   abcFr   )r   r]   r^   r_   r   r   )r   rb   r   r=   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=Falser6   rE   Fr   )r   r[   r\   r]   r^   r_   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 )Nr@   rA   rB   rC   rD   rE   rF   rG   rH   r
   ZYYYZYYYabaZCYYYBYYYFr   Z
YYYYYYbYYYZBYYYcYYYZ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(   r1   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)   acrE   r
   z^.$Tr   r   )r   rJ   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)   rE   r
   r(   r   ZaaaZaabr   )r   r   rJ   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   r7   r   r   )r   r$   rK   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 )	NZaBAD_BADZ	BAD_b_BADTr   r*   r+   r   F)
r   r   r   r   r-   r   r7   r:   r   r   r.   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   r7   r   r   r   r   r   )r   rJ   r"   r$   r#   rK   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   ZABr   ABCr
   r   Fr   r   TTTTr   r   r7   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   rU   rV   Fr   r   rX   r6   rY   )r   r   r   r   r   r7   r[   r\   r   r   rN   r]   r^   r_   r`   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   ZXabr
   r   r   r   )r   r!   r   ry   rb   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   rb   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   rb   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   TTFFFrY   )
r   r   r   r   r   r   r   r   r[   r`   )r   rb   r$   r#   r"   r%   r%   r&   test_fullmatch_case_kwarg  s   r   c                 C   r   )Nr   r   r
   r   r   rU   rV   Fr   r   rX   r6   rY   )r   r   r   r   r   r   r[   r\   r   r   rN   r]   r^   r_   r`   r   r%   r%   r&   test_fullmatch_compiled_regex1  r   r   zpat, case, na, expr   )TFFNZ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   ry   rb   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*   r+   r   r   )	r   r   r   r   r-   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)ABCDEFGZBCDEFEF	DEFGHIJEFZEFGHEFXXXXr
   Int64EF)   r4   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  r4   )r   r4   r  r   r   c                 S      g | ]}| d dqS r   r4   r   r  r%   r%   r&   r        c                 S   r  r  r	  r  r%   r%   r&   r    r     )r   r4   r   r   r   c                 S      g | ]	}| d ddqS r   r4   r  r   r  r%   r%   r&   r        c                 S   r  r  r	  r  r%   r%   r&   r    r  )r   r   r   Zint64r   r  r   r   r   Zassert_numpy_array_equalr
  r   rb   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 intr6   r   )r   r]   r^   r   r   r  r
  )r   rb   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  r4   r  )
r   r   r   r   Zfloat64r   r  r   r   r
  r  r%   r%   r&   test_find_nan  s.   r  infer_stringrV   )Zmarksc                 C   sH   | g d|d}t dd}|j |}| g d|d}t|| d S )N)ZabcdefgZabccZcdddfgZcdefgggr
   r   cde)ZcdedefgZcdeeZedddfgZedefggg)r   	maketrans	translater   Zassert_equal)r   r   r  r   tabler"   r#   r%   r%   r&   test_translate  s   r  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)   r1   g333333?r   r  r1   der
   )	r   r   r  r   r   r   r  r   r   )rJ   r  r#   r"   r%   r%   r&   test_translate_mixed_object  s
   r  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)ZDaveZSteveZRobZWesr
   z,([A-Z0-9._%+-]+)@([A-Z0-9.-]+)\.([A-Z]{2,4})T)rZ   expandr   )ZdaveZgooglecomrY   r*   zhas match groupsr6   )r   r   r   r   extractr[   r`   Ziloctolistr7   r   r   countr   r<   UserWarningr   )r   r   r!   r"   r=   r%   r%   r&   test_flags_kwarg!  s,   r%  r   )Or   r[   numpyr   r]   Zpandas.util._test_decoratorsutilZ_test_decoratorstdZpandasr8   r   r   r   Zpandas.tests.stringsr   r   r'   r0   r3   rm   Zparametrizeru   r   r?   rL   rQ   rc   rf   rq   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  paramZ
skip_if_nor  r  r%  r%   r%   r%   r&   <module>   s,   
^
42$
 

" 
!


 
		3
'
!
!
&-	&
