o
    �¨ÊhÈˆ  ã                
   @   s’  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  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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 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 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/d0„ Z#d1d2„ Z$d3d4„ Z%ej d5dd6d7d8ig¡ej d9g d:¢g d;¢g¡d<d=„ ƒƒZ&d>d?„ Z'ej d5d@dA„ dBdA„ d…dCdA„g¡dDdE„ ƒZ(dFdG„ Z)dHdI„ Z*dJdK„ Z+dLdM„ Z,dNdO„ Z-dPdQ„ Z.ej dRddSdSejgfddSdejgfg¡dTdU„ ƒZ/dVdW„ Z0dXdY„ Z1dZd[„ Z2d\d]„ Z3d^d_„ Z4ej dddg¡d`da„ ƒZ5dbdc„ Z6ddde„ Z7dfdg„ Z8dhdi„ Z9djdk„ Z:dldm„ Z;dndo„ Z<dpdq„ Z=drds„ Z>dtdu„ Z?dvdw„ Z@dxdy„ ZAdzd{„ ZBej d|dejCde
 Dd}¡d~�g¡dd€„ ƒZEd�d‚„ ZFdƒd„„ ZGdS )†é    )ÚdatetimeN)ÚPerformanceWarning)ÚSeriesÚ_testing)Ú_convert_na_valueÚobject_pyarrow_numpyc                 C   s   | dv S )N)zstring[pyarrow]ústring[pyarrow_numpy]© ©Údtyper	   r	   úX/var/www/html/env/lib/python3.10/site-packages/pandas/tests/strings/test_find_replace.pyÚusing_pyarrow   s   r   c                 C   s–  t jdt jdddgt jd�}t|| d�}d}|j |¡}| tv r"d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 |¡}| tv rvt 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 |¡}| tv rèdnd}tt jd	t jd
d
gt jd�|d�}t 	||¡ |jj|d	d�}| tv �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[_]+barr
   zmmm[_]+ÚobjectÚbooleanFT©Úregex)r   Úxyzr   r   )FFTT)ÚFooÚxYzÚfOOomMm__fOoÚMMM_zFOO|mmm©Úcase)TFTT)r   r   )TFTF©Úna)ÚnpÚarrayÚnanÚobject_r   ÚstrÚcontainsr   ÚtmÚassert_series_equalr   Úbool_)Úany_string_dtypeÚvaluesÚpatÚresultÚexpected_dtypeÚexpectedr	   r	   r   Útest_contains   st   ÿþþþþþÿþ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_mixedg   s   þÿþÿr6   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_categoryx   s   r:   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/   r7   r
   )r   r   TFr   r9   )Únullable_string_dtyper   r,   r   r(   r*   r	   r	   r   Ú0test_contains_na_kwarg_for_nullable_string_dtype�   s   r=   c                 C   s`  t ddddddtjddd	g
| d
�}|j d¡}| tv 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   ÚAaÚba)r   r   r    r"   r#   r   r$   r%   ©r'   Úsr*   r+   r,   r	   r	   r   Útest_contains_moar§   sF   þþþþþþrK   c                 C   s*  t tjtjtjg| d�}|jjddd�}| tv rt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rWt g d
¢tj	d�}n| dkret g d¢tjd�}nt g d¢dd�}t ||¡ |j d¡}| tv rd	nd}t tjtjtjg|d�}t ||¡ d S )Nr
   r   Fr   r   )FFFT)TTTr   )r   r   r   r   )
r   r   r    r"   r#   r   r&   r$   r%   r!   rI   r	   r	   r   Útest_contains_nanÓ   s&   rL   r)   r   )r   Úbazr   r   r8   Ú
null_valuer   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 || ¡ < 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 ©NÚomÚfoo_nomÚnomÚbar_foor   r
   FTr   r   r.   r/   r0   r1   Úf)r   r"   Ú
startswithr   r    ÚpdÚNAÚfillnaÚisnar$   r%   r   r   r3   r!   ©
r)   r   rN   r   r(   r*   Úexpr5   ÚrsÚxpr	   r	   r   Útest_startswithô   s*   þþ$r^   )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)	rP   NrQ   rR   rS   Nr   r   úrege.r
   r   r   FTr   r`   )r   r"   rU   r$   r%   ©r<   r   r(   r*   r[   r	   r	   r   Ú%test_startswith_nullable_string_dtype  ó   þÿÿrb   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 || ¡ < 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 rO   )r   r"   Úendswithr   r    rV   rW   rX   rY   r$   r%   r   r   r3   r   rZ   r	   r	   r   Útest_endswith.  s*   þþ$re   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 r_   )r   r"   rd   r$   r%   ra   r	   r	   r   Ú#test_endswith_nullable_string_dtypeP  rc   rf   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[_]*rC   Tr   Úfoobar©r   r   r    r"   Úreplacer$   r%   ©r'   Úserr*   r,   r	   r	   r   Útest_replaceh  s   rn   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 )Nrg   r
   Ú	foobarBADrh   rC   r0   T©Únr   Úfoo__barBADÚBADFrj   ©r'   rm   r,   r*   r	   r	   r   Útest_replace_max_replacementsp  s   ru   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ÚfooBADr0   r1   rh   rC   r   r.   r/   r   r
   )
r   r   r    r   r3   r"   rk   r   r$   r%   ©rm   r*   r,   r	   r	   r   Útest_replace_mixed_object|  s   ÿ ÿrz   c                 C   s~   t d d¡g| d�}t d d¡g| d�}t tt| ƒ¡� |jjddtj	dd�}W d   ƒ n1 s2w   Y  t 
||¡ d S )	Nó   abcd,Ã úutf-8r
   ó   abcd, Ã ú(?<=\w),(?=\w)ú, T©Úflagsr   )r   Údecoder$   Úmaybe_produces_warningr   r   r"   rk   ÚreÚUNICODEr%   rt   r	   r	   r   Útest_replace_unicode‡  s   ÿr†   Úreplr;   r.   r/   Údata)r.   r/   N)r.   r/   r7   Ú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
   ©Úmatchr.   )ÚpytestÚraisesÚ	TypeErrorr"   rk   )r'   Úindex_or_seriesr‡   rˆ   ÚmsgÚobjr	   r	   r   Ú#test_replace_wrong_repl_type_raises�  s
   "ÿr’   c                 C   s€   t dtjg| d�}dd„ }t tt| ƒ¡� |jjd|ddd�}W d   ƒ n1 s*w   Y  t d	tjg| d�}t 	||¡ d S )
Nrg   r
   c                 S   ó   |   d¡ ¡ S ©Nr   ©ÚgroupÚswapcase©Úmr	   r	   r   Ú<lambda>ž  ó    z'test_replace_callable.<locals>.<lambda>ú[a-z][A-Z]{2}é   Trp   ÚfoObaD__baRbaD©
r   r   r    r$   rƒ   r   r   r"   rk   r%   )r'   rm   r‡   r*   r,   r	   r	   r   Útest_replace_callable™  s   ÿr    c                   C   ó   d S ©Nr	   r	   r	   r	   r   rš   ¦  ó    rš   c                 C   r¡   r¢   r	   )r™   Úxr	   r	   r   rš   ¦  r£   c                 C   r¡   r¢   r	   )r™   r¤   Úyr	   r	   r   rš   ¦  r£   c              	   C   sœ   t dtjg| d�}d}tjt|d��2 t tt	| ƒ¡� |j
jd|dd� W d   ƒ n1 s/w   Y  W d   ƒ d S W d   ƒ d S 1 sGw   Y  d S )Nrg   r
   zO((takes)|(missing)) (?(2)from \d+ to )?\d+ (?(3)required )positional arguments?rŠ   r.   Tr   )r   r   r    rŒ   r�   rŽ   r$   rƒ   r   r   r"   rk   )r'   r‡   r(   r�   r	   r	   r   Útest_replace_callable_raises¥  s   ÿÿýÿ"ÿr¦   c                 C   s‚   t dtjg| d�}d}dd„ }t tt| ƒ¡� |jj||dd�}W d   ƒ n1 s+w   Y  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   r“   )NÚmiddler•   r˜   r	   r	   r   rš   ¼  r›   z4test_replace_callable_named_groups.<locals>.<lambda>Tr   ÚbARrŸ   )r'   rm   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¡}t tt| ƒ¡� |j	j
|ddd�}W d   ƒ n1 s*w   Y  t dtjg| d�}t ||¡ t tt| ƒ¡� |j	j
|dddd	�}W d   ƒ n1 s[w   Y  t d
tjg| d�}t ||¡ d S )Nrg   r
   úBAD_*rC   Tr   ri   r0   rp   ro   ©r   r   r    r„   Úcompiler$   rƒ   r   r   r"   rk   r%   )r'   rm   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ª   rv   rw   Trx   r0   r1   rC   r   r.   r/   r   r
   )r„   r¬   r   r   r    r   r3   r"   rk   r   r$   r%   )r)   rm   r*   r,   r	   r	   r   Ú(test_replace_compiled_regex_mixed_objectÔ  s   
ÿ ÿr®   c                 C   sŠ   t d d¡g| d�}t d d¡g| d�}tjdtjd�}t tt| ƒ¡� |j	j
|ddd	�}W d   ƒ n1 s8w   Y  t ||¡ d S )
Nr{   r|   r
   r}   r~   ©r�   r   Tr   )r   r‚   r„   r¬   r…   r$   rƒ   r   r   r"   rk   r%   )r'   rm   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Š   rC   Tr€   F©r   r   )r   r   r    r„   r¬   rŒ   r�   Ú
ValueErrorr"   rk   Ú
IGNORECASE©r'   rm   r)   r�   r	   r	   r   Ú"test_replace_compiled_regex_raisesé  s   
ÿÿ"ÿr¶   c                 C   sŠ   t dtjg| d�}dd„ }t d¡}t tt| ƒ¡� |j	j
||ddd�}W d   ƒ n1 s/w   Y  t d	tjg| d�}t ||¡ d S )
Nrg   r
   c                 S   r“   r”   r•   r˜   r	   r	   r   rš   þ  r›   z6test_replace_compiled_regex_callable.<locals>.<lambda>rœ   r�   Trp   rž   r«   )r'   rm   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.rH   r   rj   )r   r,   r'   rm   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   rŒ   r�   r³   r"   rk   )r'   rm   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=FalserŠ   rC   Fr   )r   r„   r¬   rŒ   r�   r³   r"   rk   rµ   r	   r	   r   Ú$test_replace_literal_compiled_raises  s   
"ÿr¼   c                 C   sD  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 ||¡ t tt	| ƒ¡� |jjdddd�}W d   ƒ n1 sKw   Y  t ddddddtjdddg
| d
�}t ||¡ t tt	| ƒ¡� |jjddddd�}W d   ƒ n1 s„w   Y  t ddddddtjdddg
| d
�}t ||¡ d S )Nr>   r?   r@   rA   rB   rC   rD   rE   rF   r
   ÚYYYÚYYYabaÚCYYYBYYYFr   Ú
YYYYYYbYYYÚBYYYcYYYÚcYYYtz^.a|dogzXX-XX Tr²   zXX-XX bazXX-XX cazXX-XX BAzXX-XX t)
r   r   r    r"   rk   r$   r%   rƒ   r   r   rl   r	   r	   r   Útest_replace_moar#  s\   þþÿöóÿöórÃ   c                 C   sì   t ddddtjg| d�}t tt| ƒ¡� |jjddddd	�}W d   ƒ n1 s)w   Y  t d
d
ddtjg| d�}t 	||¡ t tt| ƒ¡� |jjdd
ddd	�}W d   ƒ n1 s]w   Y  t d
d
ddtjg| d�}t 	||¡ d S )NzA.za.ÚAbÚabr
   r.   r7   Fr²   zc.ÚcbrŸ   rl   r	   r	   r   Ú)test_replace_not_case_sensitive_not_regexX  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/   ÚacrC   r
   z^.$Tr   rj   )r'   rJ   r*   r,   r	   r	   r   Útest_replace_regexg  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/   rC   r
   r.   r   ÚaaaÚaabrj   )r   r'   rJ   r*   r,   r	   r	   r   Ú#test_replace_regex_single_charactero  s   rÍ   c                 C   s8  | t v 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   rg   r   r
   ú.*(BAD[_]+).*(BAD)TFÚBAD_BADleroybrownú.*BAD[_]+.*BADzBAD[_]+.*BADz^BAD_BADleroybrownz^BAD[_]+.*BADz\^BAD[_]+.*BAD)r   r   r   r    r"   r‹   r$   r%   )r'   r+   r(   r*   r,   r	   r	   r   Ú
test_match‚  s.   ÿÿ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   r0   r1   rÎ   F)
r   r   r    r   r3   r"   r‹   Ú
isinstancer$   r%   r4   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v rtjnd}t g d¢|d�}t ||¡ |j d¡}| tv r5dnd}t d	dtjg|d�}t ||¡ d S )
Nr.   r/   r
   Fr   r   )TFFr   T)	r   r   r    r"   r‹   r   r&   r$   r%   rI   r	   r	   r   Útest_match_na_kwarg¶  s   rÖ   c                 C   sR   t g d¢| d�}|jjddd�}| tv 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   sX   t ddtjdg| d�}|j d¡}| tv rdnd}t dd	tjd	g|d�}t ||¡ d S )
Nrg   rÏ   r   r
   rÐ   r   r   TF©r   r   r    r"   Ú	fullmatchr   r$   r%   ©r'   rm   r*   r+   r,   r	   r	   r   Útest_fullmatchÒ  s   ÿrÞ   c                 C   sX   t ddtjdg| d�}|j d¡}| tv rdnd}t ddtjd	g|d�}t ||¡ d S )
Nr   zfoo$foozfoo$r
   zfoo\$r   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v rtjnd}t g d	¢|d�}t ||¡ d S )
Nrg   rÏ   r   r
   rÐ   Fr   r   ©TFFF)	r   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�}| tv 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 ||¡ t t	t
| ƒ¡� |jjdtjd
�}W d   ƒ n1 sYw   Y  t ||¡ d S )Nr×   r
   r   rà   rÅ   Tr   )TTFFFr¯   )r   r   r   r&   r"   rÜ   r$   r%   rƒ   r   r   r„   r´   )r'   rm   r+   r,   r*   r	   r	   r   Útest_fullmatch_case_kwargð  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 )Nrg   r   rs   r
   rh   ÚBAD__)r   r   r    r"   Úfindallr   r$   r%   rl   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 )	Nrg   r   Trs   r0   r1   rh   rã   )	r   r   r    r   r3   r"   rä   r$   r%   ry   r	   r	   r   Útest_findall_mixed_object  s4   ÷ÿ÷ÿræ   c                 C   sr  t g d¢| d�}| tv 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)é   r;   r0   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÷   E  rø   r;   )rî   r;   rú   rî   rï   c                 S   ó   g | ]}|  d d¡‘qS ©rí   r;   rò   rô   r	   r	   r   r÷   K  ó    c                 S   rý   rþ   rû   rô   r	   r	   r   r÷   Q  rÿ   é   )rî   r;   rï   rî   rï   c                 S   ó   g | ]	}|  d dd¡‘qS ©rí   r;   r   rò   rô   r	   r	   r   r÷   W  ó    c                 S   r  r  rû   rô   r	   r	   r   r÷   ]  r  )r   r   r   Úint64r"   ró   r$   r%   r   Úassert_numpy_array_equalrü   ©r'   rm   r+   r*   r,   r	   r	   r   Ú	test_find6  sD   ÿ      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   rŒ   r�   rŽ   r"   ró   rü   )r'   rm   r	   r	   r   Útest_find_bad_arg_raisesa  s   ÿ"ÿr  c                 C   sh  t dtjdtjdg| d�}| tv 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î   r0   rï   rú   r;   r   )
r   r   r    r   Úfloat64r"   ró   r$   r%   rü   r  r	   r	   r   Útest_find_nanj  s,   ÿr
  Úinfer_stringÚpyarrow)Ú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   ÿÿ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/   r7   g333333ó?rº   r  r7   Ú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   s”  dddt jdœ}t|| d�}d}t| ƒ}|jj|tjdd�}|jd	  	¡ g d
¢ks+J ‚t
 t|¡� |jj|tjd�}W d   ƒ n1 sEw   Y  |jd	 sQJ ‚t
 t|¡� |jj|tjd�}W d   ƒ n1 skw   Y  |jd	 swJ ‚|jj|tjd�}|jd	 d	 d
ks‹J ‚|jj|tjd�}|jd	 dks�J ‚d}t
jt|| d�� |jj|tjd�}W d   ƒ n1 s¼w   Y  |jd	 sÈJ ‚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)r�   Úexpandr   )ÚdaveÚgoogleÚcomr¯   r0   zhas match groups)r‹   Úraise_on_extra_warnings)r   r    r   r   r"   Úextractr„   r´   ÚilocÚtolistr$   rƒ   r   r‹   rÜ   rä   ÚcountÚassert_produces_warningÚUserWarningr#   )r'   rˆ   r)   Úuse_pyarrowr*   r�   r	   r	   r   Útest_flags_kwarg©  s:   üÿÿÿýr/  r¢   )Hr   r„   Únumpyr   rŒ   Úpandas.errorsr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasrV   r   r   r$   Úpandas.tests.stringsr   r   r   r-   r6   r:   ÚmarkÚparametrizerW   r    r=   rK   rL   r^   rb   re   rf   rn   ru   rz   r†   r’   r    r¦   r©   r­   r®   r°   r¶   r·   r¹   r»   r¼   rÃ   rÇ   rÉ   rÍ   rÑ   rÕ   rÖ   rÚ   rÞ   rß   rá   râ   rå   ræ   r  r  r
  ÚparamÚ
skip_if_nor  r  r/  r	   r	   r	   r   Ú<module>   s²    
J
úþ,!

ÿ
	 ÿ
		5
 	
&+	$ÿ
