a
    é´«jú;  ã                   @   sZ   d dl mZ d dlZd dlZd dlZd dlmZmZm	Z	m
Z
 d dlmZ G dd„ dƒZdS )é    )ÚChainMapN)Ú	DataFrameÚIndexÚ
MultiIndexÚmergec                
   @   s2  e Zd Zdd„ Zdd„ Zdd„ Zej de	dd	id
diƒfddifdde	dd	id
diƒifg¡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dœd g d!¢fdd	id"g d!¢fejd"g d#¢fg¡d$d%„ ƒZd&d'„ Zd(d)„ Zd*d+„ Zd,d-„ Zd.d/„ Zd0d1„ Zd2d3„ Zd4d5„ Zd6d7„ Zd8d9„ Zd:S );Ú
TestRenamec                 C   s*   t  tj¡}t|jƒ}|h d£ks&J ‚d S )N>	   ÚaxisÚindexÚmapperÚinplaceÚerrorsÚcolumnsÚcopyÚselfÚlevel)ÚinspectÚ	signaturer   ÚrenameÚsetÚ
parameters)r   Úsigr   © r   úe/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/frame/methods/test_rename.pyÚtest_rename_signature   s    
z TestRename.test_rename_signaturec                 C   s0   |g d¢t  dd„ dD ƒ¡d�}| tj¡ d S )N)é   é   é   c                 S   s   g | ]}d |f‘qS )ÚAr   )Ú.0Úxr   r   r   Ú
<listcomp>#   ó    z-TestRename.test_rename_mi.<locals>.<listcomp>)ÚaÚBÚc©r	   )r   Úfrom_tuplesr   ÚstrÚlower)r   Zframe_or_seriesÚobjr   r   r   Útest_rename_mi    s
    þzTestRename.test_rename_mic           	      C   sš  dddddœ}|j |d�}|j tjd�}t ||¡ tj|j tjd�|dd� d	d
ddœi}t|ƒ}|j dddœd�}t |jt	ddgƒ¡ |j tjd�}t |jt	ddgƒ¡ t
jtdd�� |  ¡  W d   ƒ n1 sÜ0    Y  |j dddœd�}t |jt	g d¢ƒ¡ |jj dddœd�}t |jt	g d¢ƒ¡ t	ddgdd�}t||d�}|j dddœd�}t |jt	ddgdd�¡ |jj|jjk�s–J ‚d S )Nr"   Úbr$   Úd©r   r#   ÚCÚD©r   F)Zcheck_namesr   r   é   )ÚfooÚbarr3   r2   r%   ÚFOOZBARúmust pass an index to rename©Úmatch)r.   r/   )r   r#   r2   r3   Úname)r8   )r   r'   r(   ÚtmÚassert_frame_equalÚupperr   Úassert_index_equalr	   r   ÚpytestÚraisesÚ	TypeErrorr   ÚTr8   )	r   Úfloat_frameÚmappingÚrenamedZrenamed2ÚdataÚdfr	   Zrenamerr   r   r   Útest_rename'   s0    ÿ&zTestRename.test_renamezargs,kwargsr   r"   r#   r+   r   r   r   c                 C   sX   t ddƒ}tj d¡ d¡}t||dœƒ}|j|i |¤Ž}t||dœƒ}t ||¡ d S )Nr1   r   é   é
   ©r   r#   ©r"   r+   )	ÚrangeÚnpÚrandomZdefault_rngZstandard_normalr   r   r9   r:   )r   ÚargsÚkwargsZcolADataZcolBdatarE   ÚresultÚexpectedr   r   r   Útest_rename_chainmapO   s    	
zTestRename.test_rename_chainmapc           
      C   sb  ddg}ddg}t j|ddgd�}t j|dd	gd�}td
dg||d�}|jdddœdddœd�}t jddgddgd�}t jddgdd	gd�}t |j|¡ t |j|¡ |jj|jjks¼J ‚|jj|jjksÐJ ‚t jddgdd	gd�}|jdddœdd�}t |j|¡ |jdddœdd�}t |j|¡ t jddgdd	gd�}|jdddœdd�}t |j|¡ |jdddœd	d�}t |j|¡ t	j
}	t jddgdd	gd�}|j|	dd�}t |j|¡ |j|	dd�}t |j|¡ t jddgdd	gd�}|j|	dd�}t |j|¡ |j|	d	d�}t |j|¡ t jddgddgd�}|jdddœdd�}t |j|¡ d S )N)Úfoo1Úbar1)Úfoo2Úbar2)Úfizz1Úbuzz1)Úfizz2Úbuzz2r2   r3   ©ÚnamesZfizzZbuzz©r   r   ©r1   r1   ©r	   r   Úfoo3Úbar3)rS   rV   Úfizz3Úbuzz3)rW   rZ   )r`   rT   )rU   ra   )rb   rX   )rY   rc   r   )r   r   r1   )ZFIZZ1rX   )ZFIZZ2rZ   )rW   ZBUZZ1)rY   ZBUZZ2)r	   r   )r   r&   r   r   r9   r<   r	   r   r\   r'   r;   )
r   Ztuples_indexZtuples_columnsr	   r   rE   rC   Z	new_indexZnew_columnsÚfuncr   r   r   Útest_rename_multiindexa   sj    þÿÿÿÿÿÿÿz!TestRename.test_rename_multiindexc                 C   sœ   |j ddidd�}t |d j|d j¡s.J ‚t |¡�" d|jd d …df< W d   ƒ n1 s`0    Y  |r„|d dk ¡ r˜J ‚n|d dk ¡ s˜J ‚d S )Nr.   r2   F)r   r   g      ð?)r   rL   Zshares_memoryZ_valuesr9   Zassert_cow_warningÚlocÚall)r   rA   Zusing_copy_on_writeZwarn_copy_on_writerC   r   r   r   Útest_rename_nocopy§   s    0zTestRename.test_rename_nocopyc                 C   s‚   |j ddid� d|v sJ ‚d|vs(J ‚|d }| ¡ }|j ddidd�}|d u sVJ ‚d|vsbJ ‚d|v snJ ‚|d |us~J ‚d S )Nr.   r2   r0   T)r   r   )r   r   )r   rA   Zc_valuesZreturn_valuer   r   r   Útest_rename_inplace³   s    zTestRename.test_rename_inplacec                 C   sŒ   t ddgddgddgdœƒ}|jdd	id
�}|jddid
�}| d	dg¡}dg|_t dgdggtjddgd	dgd�dgd�}t ||¡ d S )Nr2   r3   ÚbahÚbasr1   rG   ©r   r1   rG   r   r"   r0   r+   z
2001-01-01)r2   rj   )r3   rk   r[   r_   )r   r   Ú	set_indexr   r   r&   r9   r:   ©r   rE   rQ   r   r   r   Útest_rename_bugÃ   s    
ÿûzTestRename.test_rename_bugc                 C   sV   t t d¡g d¢dgd�}|jddidd�}t t d¡g d	¢dgd�}t ||¡ d S )
Né   )r]   r^   ©rG   rG   r"   )rD   r	   r   r^   ©é   é   r	   ©r   )r]   rr   rq   )r   rL   Úaranger   r9   r:   rn   r   r   r   Útest_rename_bug2Ô   s    ÿzTestRename.test_rename_bug2c                 C   sT   t g d¢d�}tjtdd��$ |jdddœdd	� W d   ƒ n1 sF0    Y  d S )
Nr-   r0   z'E'] not found in axisr6   r"   Úe©r   ÚEÚraise©r   r   )r   r=   r>   ÚKeyErrorr   )r   rE   r   r   r   Útest_rename_errors_raisesß   s    z$TestRename.test_rename_errors_raisesz mapper, errors, expected_columnsrx   ry   Úignore)r"   r#   r.   r/   r{   )r"   r+   r$   r,   c                 C   s6   t g d¢d�}|j||d�}t |d�}t ||¡ d S )Nr-   r0   r|   )r   r   r9   r:   )r   r
   r   Zexpected_columnsrE   rP   rQ   r   r   r   Útest_rename_errorsä   s    
zTestRename.test_rename_errorsc                 C   s*   |j tjd�}d|v sJ ‚d|vs&J ‚d S )Nr0   r4   r2   )r   r'   r;   )r   Zfloat_string_framerC   r   r   r   Útest_rename_objectsô   s    zTestRename.test_rename_objectsc                 C   sj  t ddgddgdœddgd�}t ddgddgdœddgd�}|jtjdd�}t ||¡ |jtjd	d�}t ||¡ |jd
ddœdd�}t ||¡ |jd
ddœd	d�}t ||¡ t ddgddgdœddgd�}|jtjdd�}t ||¡ |jtjdd�}t ||¡ |jdddœdd�}t ||¡ |jdddœdd�}t ||¡ |jtjdd�}t ||¡ d S )Nr1   rG   rI   ÚXÚYr%   rJ   ru   r   r"   r+   r   Úyr   r	   )r‚   rƒ   )r
   r   )r   r   r'   r(   r9   r:   )r   rE   rQ   rP   r   r   r   Útest_rename_axis_styleú   s*    z!TestRename.test_rename_axis_stylec                 C   sP   t ddgddgddgdœƒ dd	g¡}| tj¡}|jtjd
�}t ||¡ d S )Nr"   r+   r$   r,   r1   rG   )r   r#   r.   r   r#   r%   )r   rm   r   r'   r;   r9   r:   ©r   rE   rP   rQ   r   r   r   Útest_rename_mapper_multi  s    ÿz#TestRename.test_rename_mapper_multic                 C   s^   t ddgddgdœddgd�}|jtjtjd�}t ddgddgdœd	d
gd�}t ||¡ d S )Nr1   rG   rJ   r‚   rƒ   r%   r_   rI   r   r„   )r   r   r'   r(   r;   r9   r:   r†   r   r   r   Útest_rename_positional_named$  s    z'TestRename.test_rename_positional_namedc                 C   sì  t ddgddgdœddgd�}d}tjt|d��  |jtjdd	� W d   ƒ n1 sV0    Y  tjt|d��  |jtjd
d	� W d   ƒ n1 s”0    Y  tjt|d��  |jtjd
d� W d   ƒ n1 sÒ0    Y  tjt|d��  |jtjdd	� W d   ƒ n1 �s0    Y  tjt|d��$ |jtjtjd
d	� W d   ƒ n1 �sV0    Y  d}tjt|d��& |jtjtjtjd� W d   ƒ n1 �s 0    Y  tjtdd�� |jttd� W d   ƒ n1 �sÞ0    Y  d S )Nr1   rG   rI   Ú0Ú1r%   z:Cannot specify both 'axis' and any of 'index' or 'columns'r6   )r	   r   r   )r   r   r   ú<Cannot specify both 'mapper' and any of 'index' or 'columns'r_   zmultiple values)r
   )r   r=   r>   r?   r   r'   r(   Úid)r   rE   Zover_spec_msgr   r   r   Útest_rename_axis_style_raises+  s"    ...046z(TestRename.test_rename_axis_style_raisesc                 C   sR   t ddgd�}d}tjt|d�� | d tj¡ W d   ƒ n1 sD0    Y  d S )Nr   r#   r0   z1rename\(\) takes from 1 to 2 positional argumentsr6   )r   r=   r>   r?   r   r'   r(   ©r   rE   Úmsgr   r   r   Útest_rename_positional_raisesJ  s    z(TestRename.test_rename_positional_raisesc                 C   s   t dggƒ}d}tjt|d�� | ¡  W d   ƒ n1 s<0    Y  tjt|d�� |jd d d� W d   ƒ n1 sx0    Y  tjt|d�� |jd d d� W d   ƒ n1 s´0    Y  tjt|d��  |jd d d d� W d   ƒ n1 sò0    Y  d S )Nr1   r5   r6   r%   r0   ©r   r	   ©r   r=   r>   r?   r   rŽ   r   r   r   Útest_rename_no_mappings_raisesR  s    &,,z)TestRename.test_rename_no_mappings_raisesc                 C   sÊ   t dggƒ}d}tjt|d�� |ji i d� W d   ƒ n1 sB0    Y  tjt|d�� |ji i d� W d   ƒ n1 s~0    Y  tjt|d��  |ji i i d� W d   ƒ n1 s¼0    Y  d S )Nr1   r‹   r6   r%   r0   r‘   r’   rŽ   r   r   r   Ú2test_rename_mapper_and_positional_arguments_raisesb  s    ,,z=TestRename.test_rename_mapper_and_positional_arguments_raisesc                 C   s¼   t dgdgdgdœtjdgddgd�d	�}t g d
¢dgd g d¢g d¢dœtjg d¢ddgd�d	�}t||dddd�}|jdddœd�}t g d¢gg d¢d�jddgdd�}t ||¡ d S )Nç‘z6«>§?ç…ëQ¸6@ç^KÈ=›¥?)ÚRTÚTCloseÚTExg©éé*	 é*3ÚSTK_IDÚRPT_Dater[   r%   )éb3é�3r�   rœ   rp   )õ   é¥¡é©¦r¢   r¢   )gfffffC@g®GázÔD@çÃõ(\�>@)rŸ   rž   ÚSTK_Namer™   ))rœ   r    )rœ   r¡   r›   ÚinnerT)ÚhowZ
left_indexZright_indexr™   ÚQT_Close)ZTClose_xZTClose_yr0   )r•   r–   r—   r�   rœ   r¢   r£   )r˜   r™   rš   rŸ   rž   r¤   r§   F)Zdrop)r   r   r&   r   r   rm   r9   r:   )r   Zdf4Zdf5ÚkrP   rQ   r   r   r   Ú"test_rename_with_duplicate_columnso  s4    
ÿþüþùþõz-TestRename.test_rename_with_duplicate_columnsc                 C   sj   t t d¡ dd¡g d¢d�}dddd	œ}|j|d
�}t t d¡ dd¡g d¢g d¢d�}t ||¡ d S )Né   rp   rs   )FTrG   rp   rt   r0   r2   r3   rj   rl   r%   )r2   r3   rj   r‘   )r   rL   rv   Zreshaper   r9   r:   )r   rE   r
   ÚresÚexpr   r   r   Útest_rename_boolean_index–  s    ýz$TestRename.test_rename_boolean_indexN)Ú__name__Ú
__module__Ú__qualname__r   r*   rF   r=   ÚmarkZparametrizer   rR   re   rh   ri   ro   rw   r~   r'   r(   r€   r�   r…   r‡   rˆ   r�   r�   r“   r”   r©   r­   r   r   r   r   r      sD   (þþ
Fýþ
"'r   )Úcollectionsr   r   ÚnumpyrL   r=   Zpandasr   r   r   r   Zpandas._testingZ_testingr9   r   r   r   r   r   Ú<module>   s   