o
    ŀg                     @   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 u sJ |d u sJ t|| |j ddd}| }|j dddd }}|d u s?J |d u sEJ t|| d S )NfooT)inplacebar   axis)r   r   )rename_axiscopytmassert_frame_equal)selffloat_frameexpectedresultreturn_value	no_return r   _/var/www/html/myenv/lib/python3.10/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 d    n1 s$w   Y  tjtdd |jdd	d
dd W d    n1 sEw   Y  tjtdd |jtdd W d    n1 scw   Y  tjtdd |d t W d    d S 1 sw   Y  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g d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scJ |jtjdd}|jjddgksuJ |jddgd
}|jjddgksJ | djddgd}|jddd}|jjdksJ |j	jdksJ tjtdd |jdd
 W d    n1 sw   Y  tjtdd |jdgd
 W d    n1 sw   Y  tjtdd |jd d  W d    d S 1 sw   Y  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/   r0   namenew)columnsr   r   r   )r1   r   LLNNgoo)r6   mehr1   r6   z	Must passr   wrongzLength of namesbogus)r=   )r   from_productr   listrangelenr   r   assert_index_equalr6   r   r1   r+   strupperreset_index	set_indexdropr4   r    r!   	TypeErrorr"   )r   mir$   r   sdfr   r   r   test_rename_axis_mapper.   s6   ("z/TestDataFrameRenameAxis.test_rename_axis_mapperz$kwargs, rename_index, rename_columnsNr   )mapperr   TFr	   r1   r6   r;   c                 C   s   t tddd}t ddgdd}tddd	}t|||}|jd
i |}|r.|d n|}	|r7|d n|}
t||	|
}t	|| d S )Nabcr   r3   col1col2r         r   r   )
r   r?   nparangereshaper   r   renamer   r   )r   kwargsrename_indexrename_columnsr1   r6   datar$   r   expected_indexexpected_columnsr   r   r   r   test_rename_axis_noneY   s   z-TestDataFrameRenameAxis.test_rename_axis_none)
__name__
__module____qualname__r   r%   rK   r    markparametrizer\   r   r   r   r   r      s    +r   )numpyrR   r    pandasr   r   r   pandas._testing_testingr   r   r   r   r   r   <module>   s
    