U
    *if                     @   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   ^/home/mars/bis/venv/lib/python3.8/site-packages/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   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)r4   Zmehr/   r4   z	Must passr   ZwrongzLength of namesbogus)r6   )r   Zfrom_productr   listrangelenr   r   Zassert_index_equalr4   r   r/   r)   r   strupperZreset_indexZ	set_indexZdropr2   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/   r4   r5   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   r1   Zcol1Zcol2r         r   )
r   r7   npZarangeZreshaper   r   renamer   r   )r   kwargsZrename_indexZrename_columnsr/   r4   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parametrizerF   r   r   r   r   r      s   +r   )numpyrB   r   Zpandasr   r   r   Zpandas._testingZ_testingr   r   r   r   r   r   <module>   s   