a
    d:                  
   @   s  d dl Zd dlZd dlmZmZ d dlmZ d dl	m
Z
 ejdddddd	d
didd	ddidd	ddddiiigdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zejdddgg gd d! Zejdddggd"d# Zejdd
d$gd%d& Zejdddggejd'ddgd(d) Zejd'ddgd*d+ Zejd'ddgd,d- Zejd.d/d0gd1d2 Zd3d4 Zejd5d6dgd7d8 Zd9d: Zd;d< Z d=d> Z!d?d@ Z"dAdB Z#dCdD Z$dEdF Z%dGdH Z&dS )I    N)Categorical	DataFrame)	get_arrayreplace_kwargs      ab
to_replacevaluer	   r
   r   c                 C   s   t g dg dg dd}| }|jf i |}| r|d |d k rhtt|dt|dshJ tt|dt|dsJ d|jd< | rtt|dt|drJ d	|d
 v rt|d	}d|jd< tt|d	|sJ t	|| d S )Nr         )r         )ZfoobarZbazr	   r
   cr
   r   r   r   r   r	   r   d   )r   r	   )
r   copyreplaceallnpshares_memoryr   loctmassert_frame_equal)using_copy_on_writer   dfdf_origZdf_replacedarr r%   l/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/pandas/tests/copy_view/test_replace.pytest_replace   s    


r'   c                 C   s   t dddgi}| }|d d  }t|d}|jddddd | rxt|t|drZJ |jdsjJ t	|| nt|t|dsJ d S )	Nr	   aaabbb^a.*$newTr   r   inplaceregexr   )
r   r   r   r   r   r   _mgr_has_no_referencer   r    )r!   r"   r#   viewr$   r%   r%   r&   test_replace_regex_inplace_refs2   s    
r2   c                 C   s   t dddgi}t|d}|jddddd | r@|jds@J t|t|dsVJ | }|jd	ddd
}t	|| tt|dt|drJ d S )Nr	   r(   r)   r*   r+   Tr,   r   z^b.*$r   r   r.   
r   r   r   r/   r0   r   r   r   r   r    r!   r"   r$   r#   df2r%   r%   r&   test_replace_regex_inplace@   s    
r7   c                 C   s   t dddgi}t|d}|jddddd | r@|jds@J t|t|dsVJ | }|jd	ddd
}t	|| | rtt|dt|dsJ ntt|dt|drJ d S )Nr	   r   r   z^a.$r+   Tr,   r   z^x.$r3   r4   r5   r%   r%   r&    test_replace_regex_inplace_no_opN   s    
r8   c                 C   s   t g ddddd}| }|jddd}| rjtt|d	t|d	sLJ tt|d
t|d
rJ n8tt|d	t|d	rJ tt|d
t|d
rJ d|jd< t|| | rtt|d	t|d	rJ d S )N      ?r   r         Y@r   r   )r	   r
   r   dr:   g     K@r   r   r	   r   	r   r   r   r   r   r   r   r   r    r!   r"   r#   r6   r%   r%   r&   (test_replace_mask_all_false_second_block_   s    
r?   c                 C   s   t g ddd}| }|jddd}| rftt|dt|dsHJ tt|dt|drJ n<|stt|dt|dsJ tt|dt|drJ | rd|jd	< t|| tt|dt|drJ d S )
Nr9   r;   r   r:   r	   r   r
         ?r   r
   r=   )r!   Zusing_array_managerr"   r#   r6   r%   r%   r&   !test_replace_coerce_single_columnw   s    
rB   c                 C   s   t g ddd}| }|jddd}| rftt|dt|dsHJ tt|dt|dsJ n8tt|dt|drJ tt|dt|drJ d	|jd
< t|| | rtt|dt|drJ d S )Nr9   r;   r   Zxxxr:   r   r
   r	   r@   rA   r=   r>   r%   r%   r&   #test_replace_to_replace_wrong_dtype   s    
rC   c                 C   s   t dg didd}t|d}|jdgddd t|jt|djsJJ | r^|jds^J | }|jd	gdd
}t|jt|djrJ t	
|| d S )Nr	   r   categoryZdtyper   Tr   r-   r   r
   r   )r   r   r   r   r   codesr/   r0   r   r   r    r5   r%   r%   r&   test_replace_list_categorical   s    
rI   c                 C   s   t dg didd}|d d  }| }|jdgddd | rltt|djt|djr^J t|| n tt|djt|djrJ d S )Nr	   r   rD   rE   r   TrF   )	r   r   r   r   r   r   rH   r   r    r!   r"   r1   r#   r%   r%   r&   *test_replace_list_inplace_refs_categorical   s    rK   r:   c                 C   sX   t dg di}t|d}|jdddd tt|d|s@J | rT|jdsTJ d S )Nr	   r9   r:         /@Tr   r   r-   r   r   r   r   r   r   r/   r0   )r!   r   r"   arr_ar%   r%   r&   test_replace_inplace   s    
rP   c                 C   s   t dg di}t|d}|d d  }|j|ddd | rrtt|d|rPJ |jds`J |jdsJ ntt|d|sJ d S Nr	   r9   rL   TrM   r   rN   r!   r   r"   rO   r1   r%   r%   r&   test_replace_inplace_reference   s    
rS   r;   c                 C   st   t dg di}t|d}|d d  }|j|ddd tt|d|sLJ | rp|jdr`J |jdrpJ d S rQ   rN   rR   r%   r%   r&   $test_replace_inplace_reference_no_op   s    
rT   valc                 C   s   t dtg di}| }t|d}|d d  }|j||dd | rtt|dj|jr`J |j	dspJ |j	dsJ t
|| ntt|dj|jsJ d S )Nr	   r   TrM   r   )r   r   r   r   r   r   r   rH   r/   r0   r   r    )r!   rU   r   r"   r#   rO   r1   r%   r%   r&   *test_replace_categorical_inplace_reference   s    
rV   c                 C   s   t dtg di}t|d}|jd|dd tt|dj|jsHJ | r\|jds\J t dt|ddgi}t	
|| d S )	Nr	   r   r   TrM   r   r   r   )r   r   r   r   r   r   rH   r/   r0   r   r    )r!   rU   r"   rO   expectedr%   r%   r&    test_replace_categorical_inplace   s    
rX   c                 C   s   t dtg di}| }|jd|d}| rN|jds>J |jdsNJ tt|dj	t|dj	rnJ t
|| t|dj	}d|jd< tt|dj	|sJ d S )Nr	   r   r   r   r   g       @r   r   )r   r   r   r   r/   r0   r   r   r   rH   r   r    iloc)r!   rU   r"   r#   r6   rO   r%   r%   r&   test_replace_categorical  s     
r[   methodwheremaskc                 C   s   t dg di}| }t|d}|d d  }t||}||d dkddd | rtt|d|rhJ |jdsxJ |jdsJ t	|| ntt|d|sJ d S )Nr	   r9   g?r   Tr-   r   )
r   r   r   getattrr   r   r/   r0   r   r    )r!   r\   r"   r#   rO   r1   r%   r%   r&   test_masking_inplace  s    

ra   c                 C   s   t dddgi}|g g }| rNtt|dt|ds<J |jdrjJ ntt|dt|drjJ t|d}|g g  | rtt|d|sJ |jdrJ |jdrJ d S )Nr	   r   r   r   )r   r   r   r   r   r/   r0   )r!   r"   r6   rO   r%   r%   r&   test_replace_empty_list+  s    
rb   r   r<   c                 C   s~   t dg di}t|d}|jdg|dd | s8|d u rPt|t|dsfJ nt|t|drfJ | rz|jdszJ d S )Nr	   r   r   Tr_   r   rN   )r!   r   r"   r$   r%   r%   r&    test_replace_object_list_inplace=  s    
rc   c                 C   st   t dg di}t|d}|jddgddd | rZt|t|dsHJ |jdspJ nt|t|dspJ d S )	Nr	   r   r   r   r   Tr_   r   rN   )r!   r"   r$   r%   r%   r&   +test_replace_list_multiple_elements_inplaceK  s    
rd   c                 C   sT   t dg di}| }|jdgd d}t|| tt|dt|drPJ d S )Nr	   r   r
   rG   )r   r   r   r   r    r   r   r   r>   r%   r%   r&   test_replace_list_noneV  s
    re   c                 C   s   t dg di}t|d}| }|d d  }|jdgd dd | rx|jdsTJ t|t|drjJ t	|| nt|t|dsJ d S )Nr	   r   TrF   r   )
r   r   r   r   r/   r0   r   r   r   r    )r!   r"   r$   r#   r1   r%   r%   r&   #test_replace_list_none_inplace_refs`  s    
rf   c                 C   sx   t g dg dd}|d d  }| }|jddiddd | rttt|dt|ds^J d|jd< t|| d S )	Nr   r   r	   
   r   Tr_   rY   	r   r   r   r   r   r   rZ   r   r    rJ   r%   r%   r&   %test_replace_columnwise_no_op_inplacen  s    
ri   c                 C   sh   t g dg dd}| }|ddid}| rNtt|dt|dsNJ d|jd< t|| d S )Nr   r   r	   rg   r   rY   rh   r>   r%   r%   r&   test_replace_columnwise_no_opy  s    
rj   c                 C   s   t dtjdgdd}| }| rt $ |d jdddd W d    n1 sT0    Y  t|| t & |dg jdddd W d    n1 s0    Y  t|| d S )Nr   r   r   r	   r   Tr_   )r   r   nanr   r   Zraises_chained_assignment_errorr   r    )r!   r"   r#   r%   r%   r&   test_replace_chained_assignment  s    
2
4rl   c                 C   s   t g dg dd}| }|ddgddg}| rTtt|dt|dspJ ntt|dt|drpJ d|jd< t|| |dd	gd
d
g}tt|dt|drJ t|| d S )Nr   r            r	   r   rY   r   rg   rh   )r!   r"   r#   resultr%   r%   r&   test_replace_listlike  s    
rq   c                 C   s   t g dg dd}t|d}|jddgddgdd	 tt|d|sNJ |d d  }| }|jdd
gddgdd	 | rtt|d|rJ t|| n"tt|d|sJ t|| d S )Nr   r   r	   rm   r   rg   ro   Tr_   r   )r   r   r   r   r   r   r   r    )r!   r"   r$   r1   r#   r%   r%   r&   test_replace_listlike_inplace  s    
rr   )'numpyr   ZpytestZpandasr   r   Zpandas._testingZ_testingr   Zpandas.tests.copy_view.utilr   markZparametrizer'   r2   r7   r8   r?   rB   rC   rI   rK   rP   rS   rT   rV   rX   r[   ra   rb   rc   rd   re   rf   ri   rj   rl   rq   rr   r%   r%   r%   r&   <module>   s^   










