3
Ud0                 @   sL   d dl mZ d dlZd dlZd dlmZmZmZ d dl	j
ZG dd dZdS )    )ChainMapN)	DataFrameIndex
MultiIndexc            
   @   s"  e Zd Zdd Zejjdeddiddifedd	ff eeddiddid
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jdddddddddgfddidddddgfejdddd d!gfgd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Zd4S )5
TestRenamec       	      C   s  ddddd}|j |d}|j tjd}tj|| tj|j tjd|dd d	d
ddi}t|}|j dddd}tj|jt	ddg |j tjd}tj|jt	ddg t
jtdd |j   W d Q R X |j dddd}tj|jt	d	dddg |jj dddd}tj|jt	d	dddg t	ddgdd}t||d}|j dddd}tj|jt	ddgdd |jj|jjkstd S )Nabcd)ABCD)columnsF)Zcheck_namesr   r      )foobarr   r   )indexZBARFOOzmust pass an index to rename)match)r   r   r   name)r   )renamestrlowertmassert_frame_equalupperr   assert_index_equalr   r   pytestraises	TypeErrorr   Tr   AssertionError)	selffloat_framemappingrenamedZrenamed2datadfr   Zrenamer r)   Z/var/www/html/virt/lib64/python3.6/site-packages/pandas/tests/frame/methods/test_rename.pytest_rename   s.    zTestRename.test_renamezargs,kwargsr   r   r   r   r   )axis)r   c             C   sN   t dd}tjjd}t||d}|j||}t||d}tj|| d S )Nr      
   )r   r   )r   r   )rangenprandomZrandnr   r   r   r   )r#   argskwargsZcolADataZcolBdatar(   resultexpectedr)   r)   r*   test_rename_chainmap4   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|j| tj|j| |jj|jjkst	|jj|jjkst	t jd'd(gddgd}|jddddd}tj|j| |jddddd}tj|j| t jd)d*gddgd}|jddddd}tj|j| |jddddd}tj|j| t
j}	t jd+d,gddgd}|j|	dd}tj|j| |j|	dd}tj|j| t jd-d.gddgd}|j|	dd}tj|j| |j|	dd}tj|j| t jd/d0gd	d
gd}|jddddd}tj|j| d S )1Nfoo1bar1foo2bar2fizz1buzz1fizz2buzz2r   r   )namesZfizzZbuzzr   r   )r   r   foo3bar3)r7   r:   fizz3buzz3)r;   r>   )r   levelFIZZ1FIZZ2BUZZ1BUZZ2)r   rD   )r7   r8   )r9   r:   )r;   r<   )r=   r>   )r   r   )r   r   )r@   r8   )r9   rA   )rB   r<   )r=   rC   )rB   r<   )r=   r>   )r;   r<   )r=   rC   )rE   r<   )rF   r>   )r;   rG   )r=   rH   )r@   r8   )r9   r:   )r   from_tuplesr   r   r   r   r   r   r?   r"   r   r   )
r#   Ztuples_indexZtuples_columnsr   r   r(   r&   Z	new_indexZnew_columnsfuncr)   r)   r*   test_rename_multiindexF   sZ    z!TestRename.test_rename_multiindexc             C   s2   |j ddidd}d|d< |d dkj s.td S )Nr   r   F)r   copyg      ?)r   allr"   )r#   r$   r&   r)   r)   r*   test_rename_nocopy   s    zTestRename.test_rename_nocopyc             C   s   |j ddid d|kstd|ks(tt|d }|j }|j ddidd}|d ksZtd|ksftd|ksrtt|d |kstd S )Nr   r   )r   T)r   Zinplace)r   r"   idrL   )r#   r$   Zc_idZ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
}|jd	dg}dg|_t dgdggtjddgd	dgddgd}tj|| d S )Nr   r   bahbasr      )r   r   rS   r   r   )r   r   z
2001-01-01)r?   )r   r   )r   rQ   )r   rR   )r   r   	set_indexr   r   rI   r   r   )r#   r(   r5   r)   r)   r*   test_rename_bug   s    

zTestRename.test_rename_bugc             C   sZ   t tjddddgdgd}|jddid	d
}t tjddddgdgd}tj|| d S )N   r   r   rS   r   )r'   r   r         r   )r,   )r   r   )r   r   )rS   rS   )r   r   )rW   rX   )r   r   )rW   rX   )rS   rS   )r   r0   Zaranger   r   r   )r#   r(   r5   r)   r)   r*   test_rename_bug2   s
    zTestRename.test_rename_bug2c             C   sD   t ddddgd}tjtdd |jdd	d
dd W d Q R X d S )Nr   r   r   r   )r   z'E'] not found in axis)r   r   e)r   Eraise)r   errors)r   r   r   KeyErrorr   )r#   r(   r)   r)   r*   test_rename_errors_raises   s    z$TestRename.test_rename_errors_raisesz mapper, errors, expected_columnsrZ   )r   r[   ignorer   r   r\   r	   r
   c             C   s:   t ddddgd}|j||d}t |d}tj|| d S )Nr   r   r   r   )r   )r   r]   )r   r   r   r   )r#   mapperr]   Zexpected_columnsr(   r4   r5   r)   r)   r*   test_rename_errors   s    
zTestRename.test_rename_errorsc             C   s*   |j tjd}d|kstd|ks&td S )N)r   r   r   )r   r   r   r"   )r#   Zfloat_string_framer&   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|| |jtjd	d}tj|| |jd
dddd}tj|| |jd
ddd	d}tj|| t ddgddgdddgd}|jtjdd}tj|| |jtjdd}tj|| |jddddd}tj|| |jddddd}tj|| |jtjdd}tj|| d S )Nr   rS   )r   r   XY)r   )r   r   )r,   r   r   r   xyr   r   )rd   re   )ra   r,   )r   r   r   r   r   r   )r#   r(   r5   r4   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jdd	g}|jtj}|jtjd
}tj|| d S )Nr   r   r	   r
   r   rS   )r   r   r   r   r   )r   )r   rT   r   r   r   r   r   )r#   r(   r4   r5   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j|| d S )Nr   rS   )r   r   rd   re   )r   )r   r   )r   r   rf   rg   )r   r   r   r   r   r   r   )r#   r(   r4   r5   r)   r)   r*   test_rename_positional_named  s    z'TestRename.test_rename_positional_namedc          5   C   sX  t ddgddgdddgd}d}tjt|d |jtjdd	 W d Q R X tjt|d |jtjd
d	 W d Q R X tjt|d |jtjd
d W d Q R X tjt|d |jtjdd	 W d Q R X tjt|d |jtjtjd
d	 W d Q R X d}tjt|d |jtjtjtjd W d Q R X tjtdd |jttd W d Q R X d S )Nr   rS   )r   r   01)r   z:Cannot specify both 'axis' and any of 'index' or 'columns')r   )r   r,   r   )r   r,   r   z<Cannot specify both 'mapper' and any of 'index' or 'columns')r   r   zmultiple values)ra   )r   r   r   r    r   r   r   rO   )r#   r(   Zover_spec_msgr)   r)   r*   test_rename_axis_style_raises  s"     z(TestRename.test_rename_axis_style_raisesc          
   C   s>   t ddgd}d}tjt|d |jd tj W d Q R X d S )Nr   r   )r   z1rename\(\) takes from 1 to 2 positional arguments)r   )r   r   r   r    r   r   r   )r#   r(   msgr)   r)   r*   test_rename_positional_raises'  s    z(TestRename.test_rename_positional_raisesc          !   C   s   t dgg}d}tjt|d |j  W d Q R X tjt|d |jd d d W d Q R X tjt|d |jd d d W d Q R X tjt|d |jd d d d W d Q R X d S )Nr   zmust pass an index to rename)r   )r   )r   )r   r   )r   r   r   r    r   )r#   r(   rn   r)   r)   r*   test_rename_no_mappings_raises/  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 Q R X tjt|d |ji i d W d Q R X tjt|d |ji i i d W d Q R X d S )Nr   z<Cannot specify both 'mapper' and any of 'index' or 'columns')r   )r   )r   )r   r   )r   r   r   r    r   )r#   r(   rn   r)   r)   r*   2test_rename_mapper_and_positional_arguments_raises?  s    z=TestRename.test_rename_mapper_and_positional_arguments_raisesN)__name__
__module____qualname__r+   r   markZparametrizer   dictr6   rK   rN   rP   rU   rY   r_   r   r   rb   rc   rh   ri   rj   rm   ro   rp   rq   r)   r)   r)   r*   r   
   s0   )(G "r   )collectionsr   Znumpyr0   r   Zpandasr   r   r   Zpandas._testingZ_testingr   r   r)   r)   r)   r*   <module>   s
   
