o
    d                  
   @   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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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+d, Zd-d. Zd/d0 Zejd1dd2d3d4igejd5g d6g d7gd8d9 Zd:d; Zejd1d<d= d>d= d|d?d=gd@dA Z dBdC Z!dDdE Z"dFdG Z#dHdI Z$dJdK Z%dLdM Z&ejdNddOdOejgfddOdejgfgdPdQ Z'dRdS Z(dTdU Z)dVdW Z*dXdY Z+dZd[ Z,ejdddgd\d] Z-d^d_ Z.d`da Z/dbdc Z0ddde Z1dfdg Z2dhdi Z3djdk Z4dldm Z5dndo Z6dpdq Z7drds Z8dtdu Z9dvdw Z:dxdy Z;dzd{ Z<dS )}    )datetimeN)PerformanceWarning)Series_testingc                 C   s  t jdt jdddgt jd}t|| d}d}|j|}| dk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|}| dkrvt j
nd}tt g d|d}t|| tt jg dt	d| d}tt| dk |jjdd	d}W d    n1 sw   Y  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   xyzr   r   )FFTT)FooxYzfOOomMm__fOoMMM_string[pyarrow]zFOO|mmmcase)TFTT)r   r   )TFTFna)nparraynanobject_r   strcontainstmassert_series_equalr   bool_maybe_produces_warningr   )any_string_dtypevaluespatresultexpected_dtypeexpected r)   k/var/www/html/visualizacion-main/env/lib/python3.10/site-packages/pandas/tests/strings/test_find_replace.pytest_contains   s|   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    r4   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_categoryq   s   r8   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-   r5   r	   )r   r   TFr   r7   )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}| dkrdnd}t ddddddtjdddg
|d
}t|| tt| dk |jjddd}W d    n1 sQw   Y  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|| tt| dk |jjddd}W d    n1 sw   Y  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   r   Aaba)	r   r   r   r   r   r   r    r"   r   r#   sr&   r'   r(   r)   r)   r*   test_contains_moar   sV   rI   c                 C   s  t tjtjtjg| d}|jjddd}| dk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t g d	dd}t|| |jd}| dkrqd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   rG   r)   r)   r*   test_contains_nan   s"   rJ   r%   r   )r   bazr
   r6   
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}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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   r1   r   
r%   r
   rL   r   r$   r&   expr3   rsxpr)   r)   r*   test_startswith   s"   &rX   )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)	rN   NrO   rP   rQ   Nr   r   rege.r	   r   r   FTr   rZ   )r   r   rS   r   r    r:   r   r$   r&   rU   r)   r)   r*   %test_startswith_nullable_string_dtype     r\   c           
   
   C   s   t d|ddd|dg|d}|j| }t dtjdddtjdg}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tjtjtjg	}	t||	 d S rM   )r   r   endswithr   r   r   r    r   r   r1   r   rT   r)   r)   r*   test_endswith&  s"   &r_   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 rY   )r   r   r^   r   r    r[   r)   r)   r*   #test_endswith_nullable_string_dtypeC  r]   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[_]*rA   Tr   foobarr   r   r   r   replacer   r    r#   serr&   r(   r)   r)   r*   test_replace[  s   rh   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 )Nra   r	   	foobarBADrb   rA   r.   Tnr   foo__barBADBADFrd   r#   rg   r(   r&   r)   r)   r*   test_replace_max_replacementsc  s   ro   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/   rb   rA   r   r,   r-   r   )	r   r   r   r   r1   r   re   r   r    rg   r&   r(   r)   r)   r*   test_replace_mixed_objecto  s   &rt   c                 C   s~   t ddg| d}t ddg| d}tt| dk |jjddtjdd	}W d    n1 s2w   Y  t	|| d S )
N   abcd,àutf-8r	      abcd, àr   (?<=\w),(?=\w), Tflagsr   )
r   decoder   r"   r   r   re   reUNICODEr    rn   r)   r)   r*   test_replace_unicodex  s   r   replr9   r,   r-   data)r,   r-   N)r,   r-   r5   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   re   )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| dk |jjd|ddd	}W d    n1 s*w   Y  t d
tjg| d}t|| d S )Nra   r	   c                 S      |  d S Nr   groupswapcasemr)   r)   r*   <lambda>      z'test_replace_callable.<locals>.<lambda>r   [a-z][A-Z]{2}   Trj   foObaD__baRbaD	r   r   r   r   r"   r   r   re   r    )r#   rg   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| dk |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 )	Nra   r	   zO((takes)|(missing)) (?(2)from \d+ to )?\d+ (?(3)required )positional arguments?r   r   r,   Tr   )r   r   r   r   r   r   r   r"   r   r   re   )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| dk |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>r   Tr   bARr   )r#   rg   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| dk |jj	|ddd}W d    n1 s*w   Y  t dtjg| d}t
|| tt| dk |jj	|dd	dd
}W d    n1 s[w   Y  t dtjg| d}t
|| d S )Nra   r	   BAD_*r   rA   Tr   rc   r.   rj   ri   r   r   r   r}   compiler   r"   r   r   re   r    )r#   rg   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   rp   rq   Trr   r.   r/   rA   r   r,   r-   r   )r}   r   r   r   r   r   r1   r   re   r   r    )r%   rg   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| dk |jj	|dd	d
}W d    n1 s8w   Y  t
|| d S )Nru   rv   r	   rw   rx   r{   r   ry   Tr   )r   r|   r}   r   r~   r   r"   r   r   re   r    )r#   rg   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   rA   Trz   Fr   r   )r   r   r   r}   r   r   r   
ValueErrorr   re   
IGNORECASEr#   rg   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| dk |jj	||ddd	}W d    n1 s/w   Y  t d
tjg| d}t
|| d S )Nra   r	   c                 S   r   r   r   r   r)   r)   r*   r     r   z6test_replace_compiled_regex_callable.<locals>.<lambda>r   r   r   Trj   r   r   )r#   rg   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.rF   r   rd   )r   r(   r#   rg   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   re   )r#   rg   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   rA   Fr   )r   r}   r   r   r   r   r   re   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| dk |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| dk |jjddddd}W d    n1 sw   Y  t ddddddtjdddg
| d
}t|| d S )Nr<   r=   r>   r?   r@   rA   rB   rC   rD   r	   YYYYYYabaCYYYBYYYr   Fr   
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   re   r   r    r"   r   rf   r)   r)   r*   test_replace_moar   sd   r   c                 C   s   t ddddtjg| d}tt| dk |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| dk |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   r,   r5   Fr   zc.cbr   rf   r)   r)   r*   )test_replace_not_case_sensitive_not_regexY  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-   acrA   r	   z^.$Tr   rd   )r#   rH   r&   r(   r)   r)   r*   test_replace_regexl  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-   rA   r	   r,   r   aaaaabrd   )r   r#   rH   r&   r(   r)   r)   r*   #test_replace_regex_single_charactert  s   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   ra   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*   
test_match  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 s2J t	|| d S )	NaBAD_BAD	BAD_b_BADTr   r.   r/   r   F)
r   r   r   r   r1   r   r   
isinstancer   r    r2   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rtjnd}t g d|d}t|| |jd}| dkr5dnd}t d	dtjg|d}t|| d S )
Nr,   r-   r	   Fr   r   r   )TFFT)r   r   r   r   r   r!   r   r    rG   r)   r)   r*   test_match_na_kwarg  s   r   c                 C   s   t g d| d}tt| dk |jjddd}W d    n1 s#w   Y  | dkr/tjnd}t g d	|d}t|| d S )
Nr   ABr   ABCr	   r   r   Fr   r   r   )TTTT)	r   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}| dkrdnd}t dd	tjd	g|d}t|| d S )
Nra   r   r   r	   r   r   r   TF)r   r   r   r   	fullmatchr   r    r#   rg   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rtjnd	}t g d
|d}t|| d S )Nra   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}tt| d
k |jjddd}W d    n1 sJw   Y  t|| tt| d
k |jjdt	j
d}W d    n1 sqw   Y  t|| d S )Nr   r	   r   r   r   r   Tr   )TTFFr   Fr   )r   r   r!   r   r   r   r    r"   r   r}   r   )r#   rg   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 )Nra   r   rm   r	   rb   BAD__)r   r   r   r   findallr   r    rf   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 )	Nra   r   Trm   r.   r/   rb   r   )	r   r   r   r   r1   r   r   r   r    rs   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)ABCDEFGBCDEFEF	DEFGHIJEFEFGHEFXXXXr	   r   Int64EF)   r9   r.   r   c                 S      g | ]}| d qS r   find.0vr)   r)   r*   
<listcomp>D      ztest_find.<locals>.<listcomp>)r         r   r   c                 S   r   r   rfindr   r)   r)   r*   r   J  r   r9   )r   r9   r   r   r   c                 S      g | ]}| d dqS r   r9   r   r   r)   r)   r*   r   P      c                 S   r   r   r   r   r)   r)   r*   r   V  r      )r   r9   r   r   r   c                 S      g | ]	}| d ddqS r   r9   r   r   r   r)   r)   r*   r   \      c                 S   r   r   r   r   r)   r)   r*   r   b  r   )
r   r   int64r   r   r   r    r   assert_numpy_array_equalr   r#   rg   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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#   rg   r)   r)   r*   test_find_bad_arg_raisesf  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   r9   r   )	r   r   r   float64r   r   r   r    r   r   r)   r)   r*   test_find_nano  s,   r  c                 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   tabler&   r(   r)   r)   r*   test_translate  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-   r5   g333333?r   r  r5   de)r   r   r  r   r   r  r   r    )rH   r  r(   r&   r)   r)   r*   test_translate_mixed_object  s
   r  c                 C   s  dddt jd}t|| d}d}| dk}|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  |d
 sPJ t	
t| |jj|tjd}W d    n1 sjw   Y  |d
 suJ |jj|tjd}|d
 d
 dksJ |jj|tjd}|d
 dksJ d}t	jt|| d |jj|tjd}W d    n1 sw   Y  |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})r   T)r{   expandr   )davegooglecomr   r.   zhas match groups)r   raise_on_extra_warnings)r   r   r   r   extractr}   r   iloctolistr   r"   r   r   r   r   countassert_produces_warningUserWarningr   )r#   r   r%   using_pyarrowr&   r   r)   r)   r*   test_flags_kwarg  s:   r#  r   )=r   r}   numpyr   r   pandas.errorsr   pandaspdr   r   r   r+   r4   r8   markparametrizeNAr   r;   rI   rJ   rX   r\   r_   r`   rh   ro   rt   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*   <module>   s    
L
2

	


 
		9
 
&+	$