
    .i6                         d dl mZ d dlmZ 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 G d d	      Zy)
    )deepcopy)methodcaller)LiteralN)	DataFrame
MultiIndexSeries
date_rangec                       e Zd Zej                  j                  dddg      d        Zej                  j                  dddg      d        Zd Zd Z	d Z
d	 Zd
 Zd Zy)TestDataFramefunc_set_axis_namerename_axisc                 >   t        ddgddgg      } t        |d      |      }|j                  j                  J |j                  j                  dk(  sJ  t        |dd      |      }|j                  j                  J |j                  j                  dk(  sJ y )N            foocolsaxis)r   r   indexnamecolumns)selfr   dfresults       ]/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/generic/test_frame.pytest_set_axis_namez TestDataFrame.test_set_axis_name   s    AA'(*dE*2.xx}}$$$||  E)))3dF3B7zz&&&~~""f,,,    c                 B   t        t        j                  d      t        j                  t        d      D cg c]  }d|f c}      t        j                  t        d      D cg c]  }d|f c}            }ddg} t        ||      |      }|j                  j                  |k(  sJ |j                  j                  d d gk(  sJ  t        ||d	
      |      }|j                  j                  ddgk(  sJ |j                  j                  d d gk(  sJ y c c}w c c}w )N)r   r   aBcAxyzC)r   r   L1L2r   r   )
r   npemptyr   from_tupleslistr   r   namesr   )r   r   xr   level_namesr   s         r   test_set_axis_name_miz#TestDataFrame.test_set_axis_name_mi   s   HHV((DK)Hq3()HI**d5k+JS!H+JK
 Tl0dK04||!![000~~##d|3338dKa8<~~##d|333||!!dD\111 *I+Js   D#Dc                     t        ddgg      }d}t        j                  t        |      5  t	        |       d d d        y # 1 sw Y   y xY w)NFz+The truth value of a DataFrame is ambiguousmatch)r   pytestraises
ValueErrorbool)r   r   msg_errs      r   test_nonzero_single_elementz)TestDataFrame.test_nonzero_single_element1   sB    '(?]]:W5 	H	 	 	s   AA
c                 F   t        g dg dt        j                  j                  d      j	                  d      t        j                  j                  d      j	                  d      d      }|j                  d      j                         }t        j                  ||       y )N)r   barr   r:   r   r:   r   r   )oner;   twothreer<   r<   r;   r=   r      )r#   Br%   Dr#   )	r   r(   randomdefault_rngstandard_normalgroupbysumtmassert_metadata_equivalentr   r   r   s      r   'test_metadata_propagation_indiv_groupbyz5TestDataFrame.test_metadata_propagation_indiv_groupby7   sy    MQYY**1-==a@YY**1-==a@	
 C$$&
%%b&1r    c                     t        t        j                  j                  d      j	                  d      t        ddd            }|j                  d      }t        j                  ||       y )	Nr   )  r   20130101rK   s)periodsfreq)r   1min)	r   r(   rA   rB   rC   r	   resamplerF   rG   rH   s      r   (test_metadata_propagation_indiv_resamplez6TestDataFrame.test_metadata_propagation_indiv_resampleD   sU    II!!!$44Y?ZC@
 V$
%%b&1r    c                 H   	 ddt         dt         dt        d   d z  fd}|j                         5 }|j                  t         ddg       |j                  t         d|       t        t        j
                  j                  d	      j                  d
dd      ddg      }t        t        j
                  j                  d	      j                  d
dd      ddg      }dgt         _        d|_	        d|_	        |j                  |dgdgd      }|j                  dk(  sJ t        t        j
                  j                  d	      j                  d
dd      t        d            }d|_	        t        j                  ||g      }|j                  dk(  sJ 	 d d d        y # 1 sw Y   y xY w)Nr   othermethod)mergeconcatc                    | j                   D ]  }|dk(  rE|j                  \  }}t        ||d      dz   t        ||d      z   }t        j	                  | ||       M|dk(  rXdj                  |j                  D cg c]  }t        ||d       rt        ||       c}      }t        j	                  | ||       t        j	                  | |t        ||d              | S c c}w )NrV    |rW   +)	_metadata
input_objsgetattrobject__setattr__join)	r   rT   rU   kwargsr   leftrightvalueos	            r   finalizez?TestDataFrame.test_metadata_propagation_indiv.<locals>.finalizeQ   s      MW$"'"2"2KD%#D$3c9GE4QS<TTE&&tT59x'HH &+%5%5 !&q$5 $At,E &&tT59&&tT75$3KLM" Ks   8 C
r\   filename__finalize__r   r   r   )r   r   abr   cdz
fname1.csvz
fname2.csvinner)left_onright_onhowzfname1.csv|fname2.csvabr   zfoo+foo)N)r   r   contextsetattrr(   rA   rB   integersr\   rh   rV   r+   pdrW   )r   monkeypatchrg   mdf1df2r   s          r   test_metadata_propagation_indivz-TestDataFrame.test_metadata_propagation_indivM   s    9=			 -.5	2   " 	0aIIizl;IIi:		%%a(11!Q?#sC 		%%a(11!Q?#sC $.,I'CL'CLYYsSESEwYOF??&==== 		%%a(11!Q?dC !CLYYSz*F??i///3	0 	0 	0s   EFF!c                     t        dg di      }d|_        g d|d<   d|_        |j                  dk(  sJ t        j                  |d   t	        g dd             y )Nr-   r   r   r   r   )r   r      y   )r   )r   r   rF   assert_series_equalr   )r   r   s     r   test_set_attributez TestDataFrame.test_set_attribute   sU     Y'(3ttqyy
r#wys(CDr    c                 d    t        g g dg      }t        |      }t        j                  ||       y )Nr#   )datar   r   )r   r   rF   assert_frame_equal)r   empty_frameempty_frame_copys      r   test_deepcopy_emptyz!TestDataFrame.test_deepcopy_empty   s0      RrC5A#K0
.<r    N)__name__
__module____qualname__r3   markparametrizer   r/   r8   rI   rR   r|   r   r    r    r   r   r      sx    [[V&6%FG	- H	- [[V&6%FG2 H2"2260p
E=r    r   c                   b    e Zd Zej                  j                  dddg ddg      d        Zd Zy)	TestDataFrame2re   r   Truer~   g      @c                    t        g dg dd      }d}t        j                  t        |      5  |j	                         j                  dddd|	       d d d        t        j                  t        |      5  |j	                         j                  d
d|       d d d        t        j                  t        |      5  |j	                         j                  d|       d d d        t        j                  t        |      5  |j	                         j                  dd|       d d d        t        j                  t        |      5  |j	                         j                  |       d d d        t        j                  t        |      5  |j	                         j                  |j                  dkD  |       d d d        t        j                  t        |      5  |j	                         j                  |j                  dkD  |       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   SxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nr~   )r   r   r   )rj   rk   z8For argument "inplace" expected type bool, received typer1   r-   r   r   )mapperr   inplacerj   )r   r   r   )re   r      )
to_replacere   r   r   r   )condr   )r   r3   r4   r5   copyr   dropfillnareplaceinterpolate_whererj   mask)r   re   r   msgs       r   test_validate_bool_argsz&TestDataFrame2.test_validate_bool_args   s   YY78H]]:S1 	VGGI!!s)=Au!U	V ]]:S1 	7GGINN3QN6	7 ]]:S1 	5GGI1e4	5 ]]:S1 	DGGI!UC	D ]]:S1 	1GGI!!%!0	1 ]]:S1 	;GGI"$$(E:	; ]]:S1 	9GGINNq%N8	9 	9%	V 	V	7 	7	5 	5	D 	D	1 	1	; 	;	9 	9sS   &H9#H%?"H2#H?
!I/I /I$H"%H/2H<?I	II!$I-c                 :   t        t        j                  j                  d      j	                  d      ddg      }t        j                  dddddt        j                  g      }|d   j                         }t        j                  |d<   d}t        j                  t        |	      5  |j                  dd
d       d d d        t        j                  t        |	      5  |j                  d
dgd       d d d        t        j                  t        |	      5  |j                  dd       d d d        t        j                  t        |	      5  |j                  dd       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   YxY w# 1 sw Y   y xY w)Nr   )r   r   jimjoerl   r   r   zunexpected keywordr1   r   T)r   in_placer   )r   )r   r(   rA   rB   rC   rw   Categoricalnanr   r3   r4   	TypeErrorr   reindexr   )r   r   catsr   s        r   test_unexpected_keywordz&TestDataFrame2.test_unexpected_keyword   sO   II!!!$44V<uen
 ^^Q1aBFF34Y^^1"]]9C0 	2GGEDG1	2 ]]9C0 	-JJ1vtJ,	- ]]9C0 	'IIaI&	' ]]9C0 	(IIa$I'	( 	(	2 	2	- 	-	' 	'	( 	(s0   (E- E9FF-E69FFFN)r   r   r   r3   r   r   r   r   r   r    r   r   r      s4    [[Wq&)S&AB9 C92(r    r   )r   r   operatorr   typingr   numpyr(   r3   pandasrw   r   r   r   r	   pandas._testing_testingrF   r   r   r   r    r   <module>r      s=     !      E= E=R/( /(r    