U
    c                     @   sB   d dl Zd dlZd dlmZmZmZ d dlmZ	 G dd dZ
dS )    N)	DataFrameIndex
MultiIndexc                   @   s   e Zd Zdd Zdd Zdd Zejddd	d
ddfddd
ddfddiddfddiddfdddddfi ddfgdd Z	dS )TestDataFrameRenameAxisc                 C   s   | d}| }|j ddd }}|d ks0t|d ks<tt|| |j ddd}| }|j dddd }}|d ks~t|d kstt|| d S )NfooT)inplacebar   axis)r   r   )rename_axiscopyAssertionErrortmassert_frame_equal)selfZfloat_frameexpectedresultZreturn_valueZ	no_return r   O/tmp/pip-unpacked-wheel-g7fro6k3/pandas/tests/frame/methods/test_rename_axis.pytest_rename_axis_inplace   s    
z0TestDataFrameRenameAxis.test_rename_axis_inplacec              	   C   s   t ddgddgd}tjtdd |jtdd W 5 Q R X tjtdd |jdd	d
dd W 5 Q R X tjtdd |jtdd W 5 Q R X tjtdd |d t W 5 Q R X d S )Nr	      )ABzUse `.rename`matchr   r
   
      )r   r	   r   )r   pytestraises
ValueErrorr   id)r   dfr   r   r   test_rename_axis_raises   s    z/TestDataFrameRenameAxis.test_rename_axis_raisesc              	   C   s  t jdddgddggddgd}tttt|d	d
 tt|D d|d}|jddd}t|j	t
ddgdd |jddidd}t|j	t
ddgdd |jddid}|jjddgkst|jtjdd}|jjddgkst|jddgd}|jjddgkst| djddgd}|jddd}|jjdksLt|j	jdks^ttjtdd |jdd W 5 Q R X tjtd d |jdgd W 5 Q R X tjtd!d |jd d" W 5 Q R X d S )#Nabcr	   r   Zllnn)namesc                 S   s   g | ]}|d  qS )r   r   ).0ir   r   r   
<listcomp>2   s     zCTestDataFrameRenameAxis.test_rename_axis_mapper.<locals>.<listcomp>)xy)indexcolsr
   r,   r-   namenew)columnsr   r   r   )r.   r   ZLLZNNZgoo)r3   Zmehr.   r3   z	Must passr   ZwrongzLength of namesbogus)r5   )r   Zfrom_productr   listrangelenr   r   Zassert_index_equalr3   r   r.   r(   r   strupperZreset_indexZ	set_indexZdropr1   r   r   	TypeErrorr    )r   mir"   r   Zsdfr   r   r   test_rename_axis_mapper.   s2     & z/TestDataFrameRenameAxis.test_rename_axis_mapperz$kwargs, rename_index, rename_columnsNr   )Zmapperr   TFr	   r.   r3   r4   c                 C   s   t tddd}t ddgdd}tddd	}t|||}|jf |}|rX|d n|}	|rj|d n|}
t||	|
}t	|| d S )
Nabcr   r0   Zcol1Zcol2r         r   )
r   r6   npZarangeZreshaper   r   renamer   r   )r   kwargsZrename_indexZrename_columnsr.   r3   datar"   r   Zexpected_indexZexpected_columnsr   r   r   r   test_rename_axis_noneY   s    z-TestDataFrameRenameAxis.test_rename_axis_none)
__name__
__module____qualname__r   r#   r=   r   markZparametrizerE   r   r   r   r   r      s   +r   )ZnumpyrA   r   Zpandasr   r   r   Zpandas._testingZ_testingr   r   r   r   r   r   <module>   s   