a
    nÝEbn~  ã                
   @   s  d dl m Z  d dlZd dlZd dlZd dl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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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d%d&„ Zd'd(„ Zd)d*„ Zd+d,„ Zej d-dd.d/d0ig¡ej d1g d2¢g d3¢g¡d4d5„ ƒƒZd6d7„ Zej d-d8d9„ d:d9„ dzd;d9„g¡d<d=„ ƒZd>d?„ Zd@dA„ Z dBdC„ Z!dDdE„ Z"dFdG„ Z#dHdI„ Z$ej dJddKdKejgfddKdLejgfg¡dMdN„ ƒZ%dOdP„ Z&dQdR„ Z'dSdT„ Z(dUdV„ Z)dWdX„ Z*ej dg dY¢¡dZd[„ ƒZ+d\d]„ Z,d^d_„ Z-d`da„ Z.dbdc„ Z/ddde„ Z0dfdg„ Z1dhdi„ Z2djdk„ Z3dldm„ Z4dndo„ Z5dpdq„ Z6drds„ Z7dtdu„ Z8dvdw„ Z9dxdy„ Z:dS ){é    )ÚdatetimeN)ÚSeriesÚ_testingc                 C   s˜  t jdt jdddgt jd�}t|| d�}d}|j |¡}| dkrDdnd}tt jd	t jd
d
d	gt jd�|d�}t ||¡ |jj|d	d�}tt jd	t jd	d	d
gt jd�|d�}t ||¡ tt jg d¢t	d�| d�}|j |¡}| dkrìt 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Òdnd}tt jd	t jd
d
gt jd�|d�}t ||¡ |jj|d	d�}| dk�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[_]+ÚobjectÚbooleanFT©Úregex)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   ÚstrÚcontainsÚtmÚassert_series_equalr
   Úbool_)Úany_string_dtypeÚvaluesÚpatÚresultÚexpected_dtypeÚexpected© r!   úf/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/pandas/tests/strings/test_find_replace.pyÚtest_contains   st    ÿþþþþþÿþr#   c                  C   sx   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tj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_mixed[   s    þÿ þÿr,   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_categoryl   s    r0   zna, expected)TT)FF)r   F)é   Tr   TFc                 C   sP   t ddddtjg| d�}|jjd||d�}t dddd|gdd�}t ||¡ d S )	Nr$   r%   r-   r   )r   r   TFr   r/   )Únullable_string_dtyper   r    r   r   r   r!   r!   r"   Ú0test_contains_na_kwarg_for_nullable_string_dtype„   s    r3   c                 C   s`  t ddddddtjddd	g
| d
�}|j d¡}| dkr:dnd}t ddddddtjdddg
|d
�}t ||¡ |jjddd�}t ddddddtjdddg
|d
�}t ||¡ |j d¡}t ddddddtjdddg
|d
�}t ||¡ |j d¡}t ddddddtjdddg
|d
�}t ||¡ |jjddd�}t ddddddtjdddg
|d
�}t ||¡ d S )NÚAÚBÚCÚAabaÚBacaÚ ÚCABAÚdogÚcatr   r$   r
   r   FTr   ZAaÚbar/   ©r   Úsr   r   r    r!   r!   r"   Útest_contains_moar›   sF    þþþþþþr@   c                 C   s  t tjtjtjg| d�}|jjddd�}| dkr6tjnd}t g d¢|d�}t ||¡ |jjddd�}t g d	¢|d�}t ||¡ |jjddd�}| dkr®t g d
¢tjd�}nt g d	¢dd�}t ||¡ |j d¡}| dkrâdnd}t tjtjtjg|d�}t ||¡ d S )Nr   r   Fr   r
   r   )FFFT)TTT)r   r   r   )	r   r   r   r   r   r   r   r   r   r>   r!   r!   r"   Útest_contains_nanÇ   s"    rA   r	   r.   Ú
null_valuer   c           	   
   C   sì   t d|ddd|dg| d�}|j d¡}t dtjdddtjdgƒ}t ||¡ |jjd|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tjtjtjg	ƒ}t ||¡ d S ©NÚomÚfoo_nomÚnomÚbar_foor   r   FTr   r$   r%   r&   r'   Úf)r   r   Ú
startswithr   r   r   r   r   r   r)   r   ©	r	   rB   r   r   r   Úexpr+   ÚrsZxpr!   r!   r"   Útest_startswithæ   s"    þþ&rM   )NTFc              
   C   sˆ   t g d¢| d�}|jjd|d�}t d|ddd|dddg	dd�}t ||¡ |jjd|d�}t d|ddd|dddg	dd�}t ||¡ d S ©	N)	rD   NrE   rF   rG   Nr   r   úrege.r   r   r   FTr   rO   )r   r   rI   r   r   ©r2   r   r   r   rK   r!   r!   r"   Ú%test_startswith_nullable_string_dtype  s    þÿÿrQ   c           	   
   C   sê   t d|ddd|dg| d�}|j d¡}t dtjdddtjdgƒ}t ||¡ |jjd|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tjtjtjg	ƒ}t ||¡ d S rC   )r   r   Úendswithr   r   r   r   r   r   r)   r
   rJ   r!   r!   r"   Útest_endswith  s"    þþ&rS   c              
   C   sˆ   t g d¢| d�}|jjd|d�}t d|ddd|dddg	dd�}t ||¡ |jjd|d�}t d|ddd|dddg	dd�}t ||¡ d S rN   )r   r   rR   r   r   rP   r!   r!   r"   Ú#test_endswith_nullable_string_dtype6  s    þÿÿrT   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[_]*r9   Tr   Úfoobar©r   r   r   r   Úreplacer   r   ©r   Úserr   r    r!   r!   r"   Útest_replaceN  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 )NrU   r   Ú	foobarBADrV   r9   r&   T©Únr   Zfoo__barBADÚBADFrX   ©r   r[   r    r   r!   r!   r"   Útest_replace_max_replacementsV  s    rb   c               
   C   sl   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tjtjtjg	ƒ}t ||¡ d S )NÚaBADÚbBADTÚfooBADr&   r'   rV   r9   r   r$   r%   r   )	r   r   r   r   r)   r   rY   r   r   ©r[   r   r    r!   r!   r"   Útest_replace_mixed_objectb  s    ÿ&rg   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)Úflagsr   )r   Údecoder   rY   ÚreÚUNICODEr   r   ra   r!   r!   r"   Útest_replace_unicodek  s    rq   Úreplr1   r$   r%   Údata)r$   r%   N)r$   r%   r-   Úadc                 C   sP   d}||| d�}t jt|d�� |j d|¡ W d   ƒ n1 sB0    Y  d S )Nz!repl must be a string or callabler   ©Úmatchr$   )ÚpytestÚraisesÚ	TypeErrorr   rY   )r   Úindex_or_seriesrr   rs   ÚmsgÚobjr!   r!   r"   Ú#test_replace_wrong_repl_type_raisesr  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 )
NrU   r   c                 S   s   |   d¡ ¡ S ©Nr   ©ÚgroupÚswapcase©Úmr!   r!   r"   Ú<lambda>�  ó    z'test_replace_callable.<locals>.<lambda>ú[a-z][A-Z]{2}é   Tr^   ÚfoObaD__baRbaDrX   )r   r[   rr   r   r    r!   r!   r"   Útest_replace_callable|  s
    r‰   c                   C   s   d S ©Nr!   r!   r!   r!   r"   r„   ˆ  r…   r„   c                 C   s   d S rŠ   r!   )rƒ   Úxr!   r!   r"   r„   ˆ  r…   c                 C   s   d S rŠ   r!   )rƒ   r‹   Úyr!   r!   r"   r„   ˆ  r…   c                 C   sV   t dtjg| d�}d}tjt|d�� |j d|¡ W d   ƒ n1 sH0    Y  d S )NrU   r   zO((takes)|(missing)) (?(2)from \d+ to )?\d+ (?(3)required )positional arguments?ru   r$   )r   r   r   rw   rx   ry   r   rY   )r   rr   r   r{   r!   r!   r"   Útest_replace_callable_raises‡  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 )	NzFoo Bar Bazr   z,(?P<first>\w+) (?P<middle>\w+) (?P<last>\w+)c                 S   s   |   d¡ ¡ S )NÚmiddler   r‚   r!   r!   r"   r„   ›  r…   z4test_replace_callable_named_groups.<locals>.<lambda>Tr   ZbARrX   )r   r[   r   rr   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 )NrU   r   úBAD_*r9   Tr   rW   r&   r^   r]   ©	r   r   r   ro   Úcompiler   rY   r   r   )r   r[   r   r   r    r!   r!   r"   Útest_replace_compiled_regex¡  s    
r“   c               
   C   sv   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tjtjtjg	ƒ}t	 
||¡ d S )Nr�   rc   rd   Tre   r&   r'   r9   r   r$   r%   r   )ro   r’   r   r   r   r   r)   r   rY   r   r   )r   r[   r   r    r!   r!   r"   Ú(test_replace_compiled_regex_mixed_object°  s    
ÿ&r”   c                 C   sV   t d d¡g| d�}t d d¡g| d�}tjdtjd�}|j |d¡}t ||¡ d S )Nrh   ri   r   rj   rk   ©rm   rl   )	r   rn   ro   r’   rp   r   rY   r   r   )r   r[   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� W d   ƒ n1 sX0    Y  tjt|d��" |jj	|ddd	� W d   ƒ n1 s˜0    Y  tjt|d��" |jj	|dd
d	� W d   ƒ n1 sØ0    Y  d S )NZfooBAD__barBAD__badr   r�   z9case and flags cannot be set when pat is a compiled regexru   r9   r•   Fr   T)r   r   r   ro   r’   rw   rx   Ú
ValueErrorr   rY   Ú
IGNORECASE©r   r[   r   r{   r!   r!   r"   Ú"test_replace_compiled_regex_raisesÂ  s    
20rš   c                 C   sX   t dtjg| d�}dd„ }t d¡}|jj||dd�}t dtjg| d�}t ||¡ d S )	NrU   r   c                 S   s   |   d¡ ¡ S r~   r   r‚   r!   r!   r"   r„   ×  r…   z6test_replace_compiled_regex_callable.<locals>.<lambda>r†   r‡   )r_   rˆ   r‘   )r   r[   rr   r   r   r    r!   r!   r"   Ú$test_replace_compiled_regex_callableÔ  s    
r›   zregex,expectedZbaor   c                 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.r=   r   rX   )r   r    r   r[   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   ƒ n1 sN0    Y  d S )	Nr   c                 S   s   |   d¡ ¡ S r~   r   r‚   r!   r!   r"   r„   ë  r…   z6test_replace_literal_callable_raises.<locals>.<lambda>z2Cannot use a callable replacement when regex=Falseru   ÚabcFr   )r   rw   rx   r—   r   rY   )r   r[   rr   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   ƒ n1 sP0    Y  d S )Nr   r†   zCCannot use a compiled regex as replacement pattern with regex=Falseru   r9   Fr   )r   ro   r’   rw   rx   r—   r   rY   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 )Nr4   r5   r6   r7   r8   r9   r:   r;   r<   r   ZYYYZYYYabaZCYYYBYYYFr   Z
YYYYYYbYYYZBYYYcYYYZcYYYtz^.a|dogzXX-XX T©r   r   zXX-XX bazXX-XX cazXX-XX BAzXX-XX trX   rZ   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.ZAbÚabr   r$   r-   Fr    zc.ÚcbrX   rZ   r!   r!   r"   Ú)test_replace_not_case_sensitive_not_regex.  s    r¤   c                 C   s€   t dddtjdg| d�}d}tjt|d�� |j dd¡}W d   ƒ n1 sN0    Y  t dddtjdg| d�}t ||¡ d S )	Nr$   r%   Úacr9   r   zPThe default value of regex will change from True to False in a future version\.$ru   z^.$)	r   r   r   r   Úassert_produces_warningÚFutureWarningr   rY   r   )r   r?   r{   r   r    r!   r!   r"   Ú"test_replace_regex_default_warning;  s    ÿ,r¨   )TFNc                 C   s¦   t dddtjdg|d�}| d u rlt d¡}tjt|d��" |jj	dd| d	�}W d   ƒ q~1 s`0    Y  n|jj	dd| d	�}t d
ddtjdg|d�}t 
||¡ d S )Nza.bÚ.r%   r9   r   zºThe default value of regex will change from True to False in a future version. In addition, single character regular expressions will *not* be treated as literal strings when regex=True.ru   r$   r   Zaab)r   r   r   ro   Úescaper   r¦   r§   r   rY   r   )r   r   r?   r{   r   r    r!   r!   r"   Ú#test_replace_regex_single_characterH  s    ÿ2r«   c                 C   s8  | dkrdnd}t dtjdg| d�}|j d¡}t dtjdg|d�}t ||¡ t dd	tjdg| d�}|j d
¡}t ddtjdg|d�}t ||¡ |j d¡}t ddtjdg|d�}t ||¡ t ddtjdg| d�}|j d¡}t ddtjdg|d�}t ||¡ |j d¡}t ddtjdg|d�}t ||¡ d S )Nr
   r   rU   r   r   ú.*(BAD[_]+).*(BAD)TFÚBAD_BADleroybrownú.*BAD[_]+.*BADzBAD[_]+.*BADz^BAD_BADleroybrownz^BAD[_]+.*BADz\^BAD[_]+.*BAD)r   r   r   r   rv   r   r   )r   r   r   r   r    r!   r!   r"   Ú
test_matche  s.    ÿÿr¯   c               
   C   st   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tjtjtjg	ƒ}t|t ƒsdJ ‚t 	||¡ d S )	NZaBAD_BADZ	BAD_b_BADTr   r&   r'   r¬   F)
r   r   r   r   r)   r   rv   Ú
isinstancer   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�}| dkr2tjnd}t g d¢|d�}t ||¡ |j d¡}| dkrjdnd}t d	dtjg|d�}t ||¡ d S )
Nr$   r%   r   Fr   r
   r   )TFFT)r   r   r   r   rv   r   r   r   r>   r!   r!   r"   Útest_match_na_kwarg›  s    r²   c                 C   sR   t g d¢| d�}|jjddd�}| dkr.tjnd}t g d¢|d�}t ||¡ d S )	N©r¢   ZABr�   ÚABCr   r¢   Fr   r
   r   )TTTT)r   r   rv   r   r   r   r   )r   r   r   r   r    r!   r!   r"   Útest_match_case_kwargª  s
    rµ   c                 C   sX   t ddtjdg| d�}|j d¡}| dkr.dnd}t dd	tjd	g|d�}t ||¡ d S )
NrU   r­   r   r   r®   r
   r   TF)r   r   r   r   Ú	fullmatchr   r   ©r   r[   r   r   r    r!   r!   r"   Útest_fullmatch·  s    ÿr¸   c                 C   sX   t ddtjdg| d�}|jjddd�}| dkr4tjnd	}t g d
¢|d�}t ||¡ d S )NrU   r­   r   r   r®   Fr   r
   r   ©TFFF)r   r   r   r   r¶   r   r   r   r·   r!   r!   r"   Útest_fullmatch_na_kwargÂ  s    ÿrº   c                 C   sœ   t g d¢| d�}| dk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¹   r¢   Tr   )TTFFFr•   )	r   r   r   r   r¶   r   r   ro   r˜   )r   r[   r   r    r   r!   r!   r"   Útest_fullmatch_case_kwargÌ  s    r»   c                 C   sJ   t dtjddg| d�}|j d¡}t ddgtjg dggƒ}t ||¡ d S )NrU   r   r`   r   rV   ÚBAD__)r   r   r   r   Úfindallr   r   rZ   r!   r!   r"   Útest_findallã  s    r¾   c               
   C   sh   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tjtjtjg	ƒ}t ||¡ d S )	NrU   r   Tr`   r&   r'   rV   r¼   )	r   r   r   r   r)   r   r½   r   r   rf   r!   r!   r"   Útest_findall_mixed_objectê  s4    ÷ÿ÷ÿr¿   c                 C   sr  t g d¢| d�}| dk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   r
   ÚInt64ÚEF)é   r1   r&   r   éÿÿÿÿc                 S   s   g | ]}|  d ¡‘qS ©rÄ   ©Úfind©Ú.0Úvr!   r!   r"   Ú
<listcomp>  r…   ztest_find.<locals>.<listcomp>)rÅ   é   é   rÅ   rÆ   c                 S   s   g | ]}|  d ¡‘qS rÇ   ©ÚrfindrÊ   r!   r!   r"   rÍ     r…   r1   )rÅ   r1   rÏ   rÅ   rÆ   c                 S   s   g | ]}|  d d¡‘qS ©rÄ   r1   rÈ   rÊ   r!   r!   r"   rÍ   %  r…   c                 S   s   g | ]}|  d d¡‘qS rÒ   rÐ   rÊ   r!   r!   r"   rÍ   +  r…   é   )rÅ   r1   rÆ   rÅ   rÆ   c                 S   s   g | ]}|  d dd¡‘qS ©rÄ   r1   rÓ   rÈ   rÊ   r!   r!   r"   rÍ   1  r…   c                 S   s   g | ]}|  d dd¡‘qS rÔ   rÐ   rÊ   r!   r!   r"   rÍ   7  r…   )
r   r   Zint64r   rÉ   r   r   r   Zassert_numpy_array_equalrÑ   ©r   r[   r   r   r    r!   r!   r"   Ú	test_find  sD    ÿ      rÖ   c                 C   s„   t g | d�}tjtdd�� |j d¡ W d   ƒ n1 s<0    Y  tjtdd�� |j d¡ W d   ƒ n1 sv0    Y  d S )Nr   z!expected a string object, not intru   r   )r   rw   rx   ry   r   rÉ   rÑ   )r   r[   r!   r!   r"   Útest_find_bad_arg_raises;  s
    *r×   c                 C   sh  t dtjdtjdg| d�}| dk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Æ   rÏ   r1   rÓ   )	r   r   r   Zfloat64r   rÉ   r   r   rÑ   rÕ   r!   r!   r"   Útest_find_nanD  s,    ÿrØ   c                 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)rz   r   r|   Útabler   r    r!   r!   r"   Útest_translateh  s    ÿÿrÝ   c                  C   sF   t g d¢ƒ} t dd¡}t dddtjgƒ}| j |¡}t ||¡ d S )N)r$   r%   r-   g333333ó?r�   rÙ   r-   ÚdÚe)r   r   rÚ   r   r   rÛ   r   r   )r?   rÜ   r    r   r!   r!   r"   Útest_translate_mixed_objectt  s
    rà   c                 C   s*  dddt jdœ}t|| d�}d}|jj|tjdd�}|jd	  ¡ g d
¢ksNJ ‚|jj	|tjd�}|d	 slJ ‚|jj
|tjd�}|d	 sŠJ ‚|jj|tjd�}|d	 d	 d
ks°J ‚|jj|tjd�}|d	 dksÒJ ‚d}tjt|d��" |jj|tjd�}W d   ƒ n1 �s0    Y  |d	 �s&J ‚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)rm   Úexpandr   )ZdaveZgoogleÚcomr•   r&   zhas match groupsru   )r   r   r   r   Úextractro   r˜   ZilocÚtolistrv   r¶   r½   Úcountr   r¦   ÚUserWarningr   )r   rs   r   r   r{   r!   r!   r"   Útest_flags_kwarg€  s*    ü2rç   )N);r   ro   Únumpyr   rw   ZpandasÚpdr   r   r   r#   r,   r0   ÚmarkZparametrizeZNAr   r3   r@   rA   rM   rQ   rS   rT   r\   rb   rg   rq   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"   Ú<module>   sœ   
I
úþ,

	ÿ



 ÿ
		3
 
&+	$