
    .i                     `    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m	Z	 d dl
mZ  G d d      Zy)    )datetimeN)Index
MultiIndexSeriesarrayc                   l    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zy)
TestRenamec                 "   |}d }|j                  |      }|j                  d    ||j                  d         k(  sJ t        t        |j                  |j                  d            }|j                  |      }t	        j
                  ||       y )Nc                 $    | j                  d      S Nz%Y%m%dstrftimexs    e/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/series/methods/test_rename.py<lambda>z(TestRename.test_rename.<locals>.<lambda>       AJJx0     r   T)strict)renameindexdictziptmassert_series_equal)selfdatetime_seriestsrenamerrenamedrename_dictrenamed2s          r   test_renamezTestRename.test_rename   sy    0))G$}}Q7288A;#7777 3rxxtDE99[)
w1r   c                     t        t        j                  d      g dd      }|j                  ddd      }t	        j
                  |j                  t        g d             y )	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    s      r   test_rename_partial_dictz#TestRename.test_rename_partial_dict   sF    RYYq\)=WM**5u56
gmmU3K-LMr   c                     t        t        j                  d      t        g dd      d      }|j	                  i       }|j
                  j                  |j
                  j                  k(  sJ y )Nr%   r&   namer6   r+   r,   )r   r0   r1   r   r   r   r6   )r   r   r    s      r   test_rename_retain_index_namez(TestRename.test_rename_retain_index_name"   sV    IIaL&: HPW
 ..$}}!!W]]%7%7777r   c                     t        t        d      d      }t        ddd      }|j                  |      }t        t        d      g dd      }t        j                  ||       y )	N   r.   r7   
      )      )r   r;   r<      r%   )r   r6   )r   ranger   r   r   )r   r3   r   resultexpecteds        r   test_rename_by_seriesz TestRename.test_rename_by_series*   sQ    U1XE*RB(G$%(*;%H
vx0r   c                    t        t        d      t        d            }dddt        ddd      d	fD ]  }|j	                  |      }|j
                  |k(  sJ |r?t        j                  |j                  j                  |j                  j                         n>t        j                  |j                  j                  |j                  j                         |j
                  J  y )
Nr%   abcdr   r.   {        ^@     r.   )r   r@   listr   r   r6   r   assert_extension_array_equalr   valuesassert_numpy_array_equal)r   using_infer_stringr3   r6   rA   s        r   test_rename_set_namezTestRename.test_rename_set_name1   s    U1XT&\2Cr2(>I 	$DZZ%F;;$&&&!//0C0CSYYEUEUV++FLL,?,?AQAQR88###	$r   c                    t        t        d      t        d            }dddt        ddd      d	fD ]  }|j	                  |d
       |j
                  |k(  sJ t        j                  g dt        j                        }|r8t        |d      }t        j                  |j                  j                  |       t        j                  |j                  j                  |        y )Nr?   abcrF   r.   rG   rH   rI   rJ   rK   Tinplace)r'   r(   r)   r-   str)r   r@   rL   r   r   r6   r0   r   object_r   rM   r   rN   rO   )r   rP   r3   r6   exps        r   test_rename_set_name_inplacez'TestRename.test_rename_set_name_inplace<   s    U1XT%[1Cr2(>I 	CDJJtTJ*88t###((?"**=C!Cu-//		0@0@#F++CII,<,<cB	Cr   c                     t        t        d            }|j                  i d       |j                  i d       t        j                  t
        d      5  |j                  i d       d d d        y # 1 sw Y   y xY w)Nr:   r   )axisr   zNo axis named 5match)r   r@   r   pytestraises
ValueError)r   r3   s     r   test_rename_axis_supportedz%TestRename.test_rename_axis_supportedH   sd    U1X

2A


2G
$]]:->? 	#JJrJ"	# 	# 	#s   A33A<c                     d } ||j                   d         }|j                  |d       |j                   d   |k(  sJ y )Nc                 $    | j                  d      S r   r   r   s    r   r   z0TestRename.test_rename_inplace.<locals>.<lambda>R   r   r   r   TrT   )r   r   )r   r   r   rB   s       r   test_rename_inplacezTestRename.test_rename_inplaceQ   sH    0?0034w5$$Q'8333r   c                 ~     G d d      } |       }t        g d      j                  |      }|j                  |u sJ y )Nc                       e Zd Zy)=TestRename.test_rename_with_custom_indexer.<locals>.MyIndexerN__name__
__module____qualname__ r   r   	MyIndexerrh   Z       r   rn   r=   r>   r?   r   r   r6   r   rn   ixr3   s       r   test_rename_with_custom_indexerz*TestRename.test_rename_with_custom_indexerX   s:    	 	 [Y&&r*xx2~~r   c                      G d d      } |       }t        g d      }|j                  |d       |j                  |u sJ y )Nc                       e Zd Zy)ETestRename.test_rename_with_custom_indexer_inplace.<locals>.MyIndexerNri   rm   r   r   rn   rw   c   ro   r   rn   rp   TrT   rq   rr   s       r   'test_rename_with_custom_indexer_inplacez2TestRename.test_rename_with_custom_indexer_inplacea   s?    	 	 [Y

2t
$xx2~~r   c           	         t        t        dd      t        t        dd      d            }|j                  t              }|j                  d       }t        j                  ||       |j                  |j                  k(  sJ y )	Nr=      r>      IntIndexr7   rF   c                     t        |       S )N)rW   )is    r   r   z1TestRename.test_rename_callable.<locals>.<lambda>o   s
    A r   )r   r@   r   r   rW   r   r   r6   r   r3   rA   rB   s       r   test_rename_callablezTestRename.test_rename_callablek   sc    U1a[eAqk
(KLC::./
vx0{{hmm+++r   c                     t        ddgd      }|j                  d       }t        ddg      }t        j                  ||       y )Nr=   r>   r.   r7   )r   r   r   r   r   s       r   test_rename_nonezTestRename.test_rename_nonet   s=    aV%(D!1a&>
vx0r   c                 `   g dg dg}t        j                  |ddg      }t        t        j                  d      |      }|j                  dd	idd
      }g dg dg}t        j                  |ddg      }t        t        j                  d      |      }t        j                  ||       y )N)r/   bazr   r.   qux)oner   twor   r   firstsecondnamesr:   rF   r   yesraise)r   levelerrors)r   r   r   r   r   )r   from_arraysr   r0   onesr   r   r   )r   arraysr   r3   rA   arrays_expectedindex_expectedseries_expecteds           r   "test_rename_series_with_multiindexz-TestRename.test_rename_series_with_multiindex{   s     0/

 &&vgx5HIRWWQZu-5%.Q 0/

 $//GX#6
 !>B
v7r   c                    t        g dd      j                  d      t        g dd      g}t        j                  |ddg      }t	        d|	      }|j                  dd
id      }t        g dd      j                  d      t        g dd      g}t        j                  |ddg      }t	        d|	      }t        j                  ||       y )Nrp   Int64rV   categoryABr   r=   rF   r%   )r   )r%   r>   r?   )r   astyper   r   r   r   r   r   )r   r   mir3   rA   r   mi_expectedrB   s           r   2test_rename_series_with_multiindex_keeps_ea_dtypesz=TestRename.test_rename_series_with_multiindex_keeps_ea_dtypes   s     )7+22:>)7+
 ##F3*=Qb!QF!, )7+22:>)7+
 !,,_S#JO!;/
vx0r   c                     t        ddg      }t        j                  d      }t        j                  t
        |      5  |j                  ddid       d d d        y # 1 sw Y   y xY w)	Nr.   r/   z[2] not found in axisr]   r>   	   r   )r   )r   reescaper_   r`   KeyErrorr   )r   r3   r^   s      r   test_rename_error_argz TestRename.test_rename_error_arg   sV    eU^$		12]]851 	/JJ1vgJ.	/ 	/ 	/s   AA&c                     t        ddg      }|j                         }|j                  ddi      }d|d<   |d   |d   k(  sJ |d   |d   k(  sJ y )Nr.   r/   r=   r   foobarr   )r   copyr   )r   r3   ser_origshallow_copys       r   test_rename_copy_falsez!TestRename.test_rename_copy_false   sb    eU^$88:zz1a&)A{l1o---{l1o---r   N)rj   rk   rl   r#   r4   r8   rC   rQ   rZ   rb   re   rt   rx   r   r   r   r   r   r   rm   r   r   r	   r	      sT    	2N81	$
C#4,18.1&/.r   r	   )r   r   numpyr0   r_   pandasr   r   r   r   pandas._testing_testingr   r	   rm   r   r   <module>r      s,     	    c. c.r   