U
    f/e?                     @   sB   d dl m Z  d dlZd dlmZmZ d dlmZ G dd dZ	dS )    )datetimeN)IndexSeriesc                   @   sT   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd ZdS )
TestRenamec                 C   s   |}dd }| |}|jd ||jd ks2ttt|j|j}| |}t|| tt	dddddgd	d
}| ddd}t
|jtddddg tt	dtddddgddd	d
}| i }|jj|jjkstd S )Nc                 S   s
   |  dS Nz%Y%m%dstrftimex r   K/tmp/pip-unpacked-wheel-tiezk1ph/pandas/tests/series/methods/test_rename.py<lambda>       z(TestRename.test_rename.<locals>.<lambda>r      abcdZint64)indexdtypefoobar)r   r   namer   )renamer   AssertionErrordictziptmassert_series_equalr   npZarangeZassert_index_equalr   r   )selfdatetime_seriestsrenamerZrenamedZrename_dictZrenamed2sr   r   r   test_rename   s"    

  
zTestRename.test_renamec                 C   sT   t tddd}t ddd}||}t tdddddd	gdd
}t|| d S )N   r   r   
      )      r      r   )r   r   )r   ranger   r   r   )r!   r%   r$   resultexpectedr   r   r   test_rename_by_series$   s
    
z TestRename.test_rename_by_seriesc                 C   sn   t tdtdd}dddtdddd	fD ]>}||}|j|ksFtt|j	j
|j	j
 |jd ks*tq*d S )
Nr   Zabcdr   r   {        ^@     r   )r   r-   listr   r   r   r   r   assert_numpy_array_equalr   values)r!   r%   r   r.   r   r   r   test_rename_set_name+   s    
zTestRename.test_rename_set_namec                 C   sv   t tdtdd}dddtdddd	fD ]F}|j|d
d |j|ksJttjdddgtj	d}t
|jj| q*d S )Nr,   abcr1   r   r2   r3   r4   r5   r6   TZinplacer   r   r   )r   )r   r-   r7   r   r   r   r   r    arrayZobject_r   r8   r   r9   )r!   r%   r   expr   r   r   test_rename_set_name_inplace3   s    z'TestRename.test_rename_set_name_inplacec                 C   s,   t td}|ji dd |ji dd d S )Nr'   r   )Zaxisr   )r   r-   r   )r!   r%   r   r   r   test_rename_axis_supported<   s    z%TestRename.test_rename_axis_supportedc                 C   s:   dd }||j d }|j|dd |j d |ks6td S )Nc                 S   s
   |  dS r   r   r	   r   r   r   r   G   r   z0TestRename.test_rename_inplace.<locals>.<lambda>r   Tr<   )r   r   r   )r!   r"   r$   r/   r   r   r   test_rename_inplaceF   s    zTestRename.test_rename_inplacec                 C   s:   G dd d}| }t dddg|}|j|ks6td S )Nc                   @   s   e Zd ZdS )z=TestRename.test_rename_with_custom_indexer.<locals>.MyIndexerN__name__
__module____qualname__r   r   r   r   	MyIndexerO   s   rF   r*   r+   r,   r   r   r   r   r!   rF   ixr%   r   r   r   test_rename_with_custom_indexerM   s    z*TestRename.test_rename_with_custom_indexerc                 C   sB   G dd d}| }t dddg}|j|dd |j|ks>td S )Nc                   @   s   e Zd ZdS )zETestRename.test_rename_with_custom_indexer_inplace.<locals>.MyIndexerNrB   r   r   r   r   rF   X   s   rF   r*   r+   r,   Tr<   rG   rH   r   r   r   'test_rename_with_custom_indexer_inplaceV   s
    z2TestRename.test_rename_with_custom_indexer_inplacec                 C   sX   t tddttddddd}|t}|dd	 }t|| |j|jksTtd S )
Nr*      r+      ZIntIndexr   r1   c                 S   s   t | S )N)str)ir   r   r   r   d   r   z1TestRename.test_rename_callable.<locals>.<lambda>)	r   r-   r   r   rN   r   r   r   r   )r!   r%   r.   r/   r   r   r   test_rename_callable`   s
     
zTestRename.test_rename_callableN)rC   rD   rE   r&   r0   r:   r?   r@   rA   rJ   rK   rP   r   r   r   r   r      s   	
	
r   )
r   Znumpyr    Zpandasr   r   Zpandas._testingZ_testingr   r   r   r   r   r   <module>   s   