U
    *ifb                     @   sN   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m	Z
 G dd dZdS )    )datetimeN)Index
MultiIndex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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|| d S )Nc                 S   s
   |  dS Nz%Y%m%dstrftimex r   Z/home/mars/bis/venv/lib/python3.8/site-packages/pandas/tests/series/methods/test_rename.py<lambda>       z(TestRename.test_rename.<locals>.<lambda>r   )renameindexAssertionErrordictziptmassert_series_equal)selfdatetime_seriestsrenamerrenamedZrename_dictZrenamed2r   r   r   test_rename   s    

zTestRename.test_renamec                 C   sJ   t tdddddgdd}|dd	d
}t|jtdddd	g d S )N   abcdint64r   dtypefoobar)r   r!   )r   nparanger   r   Zassert_index_equalr   r   )r   serr   r   r   r   test_rename_partial_dict   s    z#TestRename.test_rename_partial_dictc                 C   sF   t tdtddddgdddd	}|i }|jj|jjksBtd S )
Nr   r   r   r    r!   namer+   r"   r#   )r   r'   r(   r   r   r   r+   r   )r   r   r   r   r   r   test_rename_retain_index_name    s      
z(TestRename.test_rename_retain_index_namec                 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   abcdr   r%   {        ^@     r%   )r   r4   listr   r   r+   r   r   assert_numpy_array_equalr   values)r   r)   r+   r5   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 )Nr3   abcr9   r%   r:   r;   r<   r=   r>   TZinplacer   r   r    )r$   )r   r4   r?   r   r   r+   r   r'   arrayZobject_r   r@   r   rA   )r   r)   r+   expr   r   r   test_rename_set_name_inplace7   s    z'TestRename.test_rename_set_name_inplacec              	   C   sT   t td}|ji dd |ji dd tjtdd |ji dd W 5 Q R X d S )Nr.   r   )Zaxisr   zNo axis named 5)match)r   r4   r   pytestZraises
ValueError)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   J   r   z0TestRename.test_rename_inplace.<locals>.<lambda>r   TrD   )r   r   r   )r   r   r   r6   r   r   r   test_rename_inplaceI   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   	MyIndexerR   s   rQ   r1   r2   r3   r   r   r+   r   r   rQ   Zixr)   r   r   r   test_rename_with_custom_indexerP   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>.MyIndexerNrM   r   r   r   r   rQ   [   s   rQ   r1   r2   r3   TrD   rR   rS   r   r   r   'test_rename_with_custom_indexer_inplaceY   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 )
Nr1      r2      ZIntIndexr,   r9   c                 S   s   t | S )N)str)ir   r   r   r   g   r   z1TestRename.test_rename_callable.<locals>.<lambda>)	r   r4   r   r   rX   r   r   r+   r   r   r)   r5   r6   r   r   r   test_rename_callablec   s
     
zTestRename.test_rename_callablec                 C   s6   t ddgdd}|d }t ddg}t|| d S )Nr1   r2   r%   r,   )r   r   r   r   rZ   r   r   r   test_rename_nonel   s    
zTestRename.test_rename_nonec                 C   s   dddddgdddddgg}t j|ddgd	}ttd
|d}|jddiddd}dddddgdddddgg}t j|ddgd	}ttd
|d}t|| d S )Nr&   Zbazr%   Zquxonetwofirstsecond)namesr.   r9   yesraise)r   levelerrors)r   Zfrom_arraysr   r'   Zonesr   r   r   )r   Zarraysr   r)   r5   Zarrays_expectedZindex_expectedZseries_expectedr   r   r   "test_rename_series_with_multiindexs   s     z-TestRename.test_rename_series_with_multiindexN)rN   rO   rP   r   r*   r-   r7   rB   rG   rK   rL   rT   rU   r[   r\   rf   r   r   r   r   r      s   			
	r   )r   numpyr'   rI   Zpandasr   r   r   Zpandas._testingZ_testingr   r   r   r   r   r   <module>   s
   