o
    i-                     @   sV   d dl m Z  d dl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                   @   s   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d Zdd ZdS ) 
TestRenamec                 C   s^   |}dd }| |}|jd ||jd ksJ tt|j|j}| |}t|| d S )Nc                 S   
   |  dS Nz%Y%m%dstrftimex r   b/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/pandas/tests/series/methods/test_rename.py<lambda>      
 z(TestRename.test_rename.<locals>.<lambda>r   )renameindexdictziptmassert_series_equal)selfdatetime_seriestsrenamerrenamedrename_dictrenamed2r   r   r   test_rename   s   

zTestRename.test_renamec                 C   sB   t tdg ddd}|ddd}t|jtg d d S )	N   abcdint64r   dtypefoobar)r"   r$   )r!   r(   r#   r)   )r   nparanger   r   assert_index_equalr   r   )r   serr   r   r   r   test_rename_partial_dict   s   z#TestRename.test_rename_partial_dictc                 C   sB   t tdtg ddddd}|i }|jj|jjksJ d S )Nr   r    name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   sN   t tddd}t ddd}||}t tdg ddd}t|| d S )	N   r(   r0   
      )      )r   r3   r4      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s#J t|jj	|jj	 |jd u s4J qd S )
Nr   abcdr   r(   {        ^@     r(   )
r   r8   listr   r   r/   r   assert_numpy_array_equalr   values)r   r-   r/   r9   r   r   r   test_rename_set_name0   s   
zTestRename.test_rename_set_namec                 C   st   t tdtdd}dddtdddd	fD ]"}|j|d
d |j|ks%J tjg dtjd}t	
|jj| qd S )Nr7   abcr=   r(   r>   r?   r@   rA   rB   Tinplace)r!   r"   r#   )r'   )r   r8   rC   r   r   r/   r*   arrayobject_r   rD   r   rE   )r   r-   r/   expr   r   r   test_rename_set_name_inplace8   s   z'TestRename.test_rename_set_name_inplacec                 C   sj   t td}|ji dd |ji dd tjtdd |ji dd W d    d S 1 s.w   Y  d S )Nr2   r   )axisr   zNo axis named 5match)r   r8   r   pytestraises
ValueError)r   r-   r   r   r   test_rename_axis_supportedA   s   "z%TestRename.test_rename_axis_supportedc                 C   s:   dd }||j d }|j|dd |j d |ksJ d S )Nc                 S   r   r   r	   r   r   r   r   r   K   r   z0TestRename.test_rename_inplace.<locals>.<lambda>r   TrH   )r   r   )r   r   r   r:   r   r   r   test_rename_inplaceJ   s   zTestRename.test_rename_inplacec                 C   s8   G dd d}| }t g d|}|j|u sJ d S )Nc                   @      e Zd ZdS )z=TestRename.test_rename_with_custom_indexer.<locals>.MyIndexerN__name__
__module____qualname__r   r   r   r   	MyIndexerS       r[   r5   r6   r7   r   r   r/   r   r[   ixr-   r   r   r   test_rename_with_custom_indexerQ   s   z*TestRename.test_rename_with_custom_indexerc                 C   s@   G dd d}| }t g d}|j|dd |j|u sJ d S )Nc                   @   rV   )zETestRename.test_rename_with_custom_indexer_inplace.<locals>.MyIndexerNrW   r   r   r   r   r[   \   r\   r[   r]   TrH   r^   r_   r   r   r   'test_rename_with_custom_indexer_inplaceZ   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s*J d S )
Nr5      r6      IntIndexr0   r=   c                 S   s   t | S )N)str)ir   r   r   r   h   s    z1TestRename.test_rename_callable.<locals>.<lambda>)r   r8   r   r   rf   r   r   r/   r   r-   r9   r:   r   r   r   test_rename_callabled   s
    
zTestRename.test_rename_callablec                 C   s6   t ddgdd}|d }t ddg}t|| d S )Nr5   r6   r(   r0   )r   r   r   r   rh   r   r   r   test_rename_nonem   s   
zTestRename.test_rename_nonec                 C   s   g dg dg}t j|ddgd}ttd|d}|jdd	idd
d}g dg dg}t j|ddgd}ttd|d}t|| d S )N)r)   bazrk   r(   qux)onerm   tworn   rm   firstsecond)namesr2   r=   rm   yesraise)r   levelerrors)rr   rr   rn   rn   rr   )r   from_arraysr   r*   onesr   r   r   )r   arraysr   r-   r9   arrays_expectedindex_expectedseries_expectedr   r   r   "test_rename_series_with_multiindext   s   z-TestRename.test_rename_series_with_multiindexc                 C   s\   t ddg}td}tjt|d |jddidd W d    d S 1 s'w   Y  d S )	Nr(   r)   z[2] not found in axisrO   r6   	   rs   )ru   )r   reescaperQ   rR   KeyErrorr   )r   r-   rP   r   r   r   test_rename_error_arg   s
   
"z TestRename.test_rename_error_argc                 C   s   t ddg}| }|jddidd}d|d< |r/|d |d ks#J |d |d ks-J d S |d |d ks9J |d |d ksCJ d S )	Nr(   r)   r5   r}   F)copyfoobarr   )r   r   r   )r   using_copy_on_writer-   ser_origshallow_copyr   r   r   test_rename_copy_false   s   z!TestRename.test_rename_copy_falseN)rX   rY   rZ   r   r.   r1   r;   rF   rM   rT   rU   ra   rb   ri   rj   r|   r   r   r   r   r   r   r      s     			
	r   )r   r~   numpyr*   rQ   pandasr   r   r   pandas._testing_testingr   r   r   r   r   r   <module>   s    