
    .i/                     ~   d dl Zd dlZd dlmZmZmZmZmZ d dl	m
Z d dlmZ d Zd Zd Zd Zd Zd	 Zd
 Zd Zej,                  j/                  dd d g      d        Zd Zej,                  j/                  dd dfd dfg      d        Zd Zd Zd Zej,                  j/                  dedg      d        Zd Z y)    N)	DataFrameIndexSeriesconcatmerge)	get_arrayc                     t        ddgdz  it              } t        ddgdz  it              }| j                         }t        | |gd      }t	        j
                  t        |d      t        | d            sJ t	        j
                  t        |d      t        |d            sJ d|j                  d<   t	        j
                  t        |d      t        | d            rJ t	        j
                  t        |d      t        |d            sJ d|j                  d	<   t	        j
                  t        |d      t        |d            rJ t        j                  | |       y )
Nba   dtype   axisdr   r   r   r   )
r   objectcopyr   npshares_memoryr   iloctmassert_frame_equal)dfdf2df_origresults       c/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/copy_view/test_functions.pytest_concat_framesr!      s+   	C##6	2B
S3%!)$F
3CggiGRIA&FIfc2Ib#4FGGGIfc2Ic34GHHHFKK	&# 6	"c8JKKKIfc2Ic34GHHHFKK	&# 6	#s8KLLL"g&    c                     t        ddgdz  it              } t        ddgdz  it              }t        | |gd      }t        j                  t        |d      t        | d            sJ t        j                  t        |d      t        |d            sJ |j                         }d| j                  d<   t        j                  t        |d      t        | d            rJ t        j                  t        |d      t        |d            sJ d|j                  d<   t        j                  t        |d      t        |d            rJ t        j                  ||       y )	Nr
   r   r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   )r   r   r   expecteds       r    !test_concat_frames_updating_inputr%   !   s)   	C##6	2B
S3%!)$F
3CRIA&FIfc2Ib#4FGGGIfc2Ic34GHHH{{}HBGGDM	&# 6	"c8JKKKIfc2Ic34GHHHCHHTN	&# 6	#s8KLLL&(+r"   c                     t        ddgd      } t        ddgd      }| j                         }|j                         }t        | |gd      }t        j                  t        |d      | j                        sJ t        j                  t        |d      |j                        sJ d	|j                  d
<   t        j                  t        |d      | j                        rJ t        j                  t        |d      |j                        sJ d|j                  d<   t        j                  t        |d      |j                        rJ t        j                  | |       t        j                  ||       y )Nr      r   namer      r
   r   d   r     r   )
r   r   r   r   r   r   valuesr   r   assert_series_equal)serser2ser_orig	ser2_origr   s        r    test_concat_seriesr3   3   s)   
!Qc
"C1a&s#DxxzH		IS$Ka(FIfc2CJJ???Ifc2DKK@@@FKK	&# 6

CCCIfc2DKK@@@FKK	&# 6DDD3)4+r"   c                  f   t        g dg dd      } t        dg di      }t        dg di      }t        t        | |gd      |gd      }|j                         }t        j                  t        |d	      t        | d	            sJ t        j                  t        |d      t        |d            sJ t        j                  t        |d      t        |d            sJ d
| j                  d<   t        j                  t        |d	      t        | d	            rJ t        j                  ||       y )Nr   r'   r   )g?g?g333333?r   r
   cr*         r   r   r   r   r+   r   )	r   r   r   r   r   r   r   r   r   )df1r   df3r   r$   s        r    test_concat_frames_chainedr=   G   s   
)/:
;C
S)$
%C
S)$
%CVS#JQ/5A>F{{}HIfc2Ic34GHHHIfc2Ic34GHHHIfc2Ic34GHHHCHHTN	&# 6	#s8KLLL&(+r"   c                  `   t        g dd      } t        g dd      }t        g dd      }t        t        | |gd      |gd      }|j                         }t        j                  t        |d      t        | d            sJ t        j                  t        |d      t        |d            sJ t        j                  t        |d      t        |d            sJ d	| j                  d
<   t        j                  t        |d      t        | d            rJ t        j                  ||       y )Nr5   r   r(   r8   r7   r   r   r   r+   r   )	r   r   r   r   r   r   r   r   r   )ser1r0   ser3r   r$   s        r    test_concat_series_chainedrA   X   s    )#&D)#&D)#&DVT4Lq148qAF{{}HIfc2IdC4HIIIIfc2IdC4HIIIIfc2IdC4HIIIDIIaL	&# 6	$8LMMM&(+r"   c                     t        ddgd      } t        ddgd      }t        ddgddgd      }t        | |gd	      }t        j                  t        |d      t        | d            sJ t        j                  t        |d      t        |d            sJ d
| j                  d<   t        j                  t        |d      t        | d            rJ t        j                  t        |d      t        |d            sJ t        j                  ||       d|j                  d<   t        j                  t        |d      t        |d            rJ t        j                  ||       y )Nr   r'   r   r(   r   r*   r
   r6   r   r+   r   r,   )	r   r   r   r   r   r   r   r   r   )r/   r0   r$   r   s       r    !test_concat_series_updating_inputrC   i   s7   
!Qc
"C1a&s#D1vQF34HS$Ka(FIfc2Ic34GHHHIfc2IdC4HIIICHHQK	&# 6	#s8KLLLIfc2IdC4HIII&(+DIIaL	&# 6	$8LMMM&(+r"   c                     t        g ddd      } t        g dd      }t        | |gd      }|j                         }t	        j
                  t        |d      t        | d            sJ t	        j
                  t        |d	      t        | d	            sJ t	        j
                  t        |d      t        |d            sJ d
|j                  d<   t	        j
                  t        |d      t        |d            rJ d
| j                  d<   t	        j
                  t        |d      t        | d            rJ t        j                  ||       y )Nr5   r   r   r7   r8   r   r(   r   r   r7   r+   r   r   )
r   r   r   r   r   r   r   r   r   r   )r   r/   r   r$   s       r    test_concat_mixed_series_framerF   |   s   	+	,B

%CRIA&F{{}HIfc2Ib#4FGGGIfc2Ib#4FGGGIfc2Ic34GHHHCHHQK	&# 6	#s8KLLLBGGDM	&# 6	"c8JKKK&(+r"   c                     t        dddgi      } t        dddgi      }t        | |gd      }t        j                  t	        | d      t	        |d            sJ t        j                  t	        |d      t	        |d            sJ y )Nr   r   r'   r
   g      ?g      @r   )r   r   r   r   r   r   r   r   s      r    test_concat_copy_keywordrI      s    	C!Q=	!B
S3*%
&CRIA&FIb#.	&#0FGGGIc3/631GHHHr"   funcc                 (     | j                   |fi |S Nr   r;   r   kwargss      r    <lambda>rP      s    9399S#;F#; r"   c                     t        | |fi |S rL   rM   rN   s      r    rP   rP      s    5c#<V#< r"   c                    t        t        g dt              g dd      }t        t        g dt              g dd      }|j                         }|j                         } | ||d      }t	        j
                  t        |d	      t        |d	            sJ t	        j
                  t        |d
      t        |d
            sJ t	        j
                  t        |d      t        |d            sJ t	        j
                  t        |d      t        |d            rJ d|j                  d<   t	        j
                  t        |d	      t        |d	            rJ t	        j
                  t        |d
      t        |d
            sJ d|j                  d<   t	        j
                  t        |d
      t        |d
            rJ t        j                  ||       t        j                  ||       y )Nr   r
   r7   r   r5   keyr   r8   rU   r
   rU   onr   r
   r   r   r   r'   )
r   r   r   r   r   r   r   r   r   r   )rJ   r;   r   df1_origdf2_origr   s         r    test_merge_on_keyr\      s    F?&A	R
SC
F?&A	R
SCxxzHxxzH#su%FIfc2Ic34GHHHIfc2Ic34GHHHIfe4iU6KLLL	&% 8)C:OPPPFKK	&# 6	#s8KLLLIfc2Ic34GHHHFKK	&# 6	#s8KLLL#x(#x(r"   c                     t        dg di      } t        dg di      }| j                         }|j                         }t        | |dd      }t        j                  t        |d      t        | d            sJ t        j                  t        |d      t        |d            sJ d|j                  d<   t        j                  t        |d      t        | d            rJ t        j                  t        |d      t        |d            sJ d|j                  d	<   t        j                  t        |d      t        |d            rJ t        j                  | |       t        j                  ||       y )
Nr   r5   r
   r8   T
left_indexright_indexr   r   r   )	r   r   r   r   r   r   r   r   r   )r;   r   rZ   r[   r   s        r    test_merge_on_indexra      s6   
S)$
%C
S)$
%CxxzHxxzH3$?FIfc2Ic34GHHHIfc2Ic34GHHHFKK	&# 6	#s8KLLLIfc2Ic34GHHHFKK	&# 6	#s8KLLL#x(#x(r"   z	func, howc                      t        || fddi|S NrX   rU   rM   rN   s      r    rP   rP          E#s$Gu$G$G r"   rightc                      t        | |fddi|S rc   rM   rN   s      r    rP   rP      rd   r"   leftc                    t        t        g dt              g dd      }t        t        ddgt              ddgd	      }|j                         }|j                         } | |||
      }t	        j
                  t        |d      t        |d            sJ t	        j
                  t        |d      t        |d            rJ |j                  j                  d      sJ |j                  j                  d      sJ t	        j
                  t        |d      t        |d            |dk(  u sJ t	        j
                  t        |d      t        |d            rJ |dk(  rd|j                  d<   nd|j                  d<   t	        j
                  t        |d      t        |d            rJ t        j                  ||       t        j                  ||       y )NrS   r   r5   rT   r   r
   r*   r9   rV   )howr   r   rU   rg   r   rY   )r   r   r   r   r   r   r   _mgr_has_no_referencer   r   r   )rJ   ri   r;   r   rZ   r[   r   s          r    test_merge_on_key_enlarging_onerl      s    F?&A	R
SC
FC:V<Aq6J
KCxxzHxxzH#s$FIfc2Ic34GHHH	&# 6	#s8KLLL88%%a(((88%%a(((Ife4iU6KLv   	&% 8)C:OPPP
f}DD	&# 6	#s8KLLL#x(#x(r"   c                     t        dddgi      } t        dddgi      }| j                  |dd      }t        j                  t	        | d      t	        |d            sJ t        j                  t	        |d      t	        |d            sJ y )	Nr   r   r'   r
   r   g      @Tr^   r   r   r   r   r   rH   s      r    test_merge_copy_keywordro      s    	C!Q=	!B
S1c(O
$CXXcdX=FIb#.	&#0FGGGIc3/631GHHHr"   c                  h   t        g dg dd      } | j                         }t        g dg ddt              }t        | |d      }t	        j
                  t        |d	      t        | d	            sJ t	        j
                  t        |d      t        | d            rJ t        j                  | |       t        || d      }t	        j
                  t        |d	      t        | d	            sJ t	        j
                  t        |d      t        | d            rJ t        j                  | |       y )
Nr5   r8   r6         	   rE   r   r   rW   r
   )	r   r   r   r   r   r   r   r   r   )rg   	left_copyre   r   s       r    test_merge_upcasting_no_copyrv      s    9956D		III6fEE43'FIfc2IdC4HIII	&# 6	$8LMMM$	*5$3'FIfc2IdC4HIII	&# 6	$8LMMM$	*r"   c                     t        g dg dd      } t        g dg dd      }t        | |dd      }t        j                  t	        |d	      t	        | d	            sJ t        j                  t	        |d
      t	        |d
            sJ y )Nr5   r8   r6   rq   rE   r   T)rX   	indicatorr
   r7   rn   )rg   re   r   s      r    !test_merge_indicator_no_deep_copyry     sx    9956DII67E43$7FIfc2IdC4HIIIIfc2IeS4IJJJr"   r   strc                 R   t        g dd|       }t        dg di|j                  d            }t        d	g d
i|j                  d            }|j                         }|j                         }|j                  |d      }t	        j
                  t        |d      t        |d            sJ t	        j
                  t        |d	      t        |d	            sJ t        j
                  t        |j                        t        |j                              sJ t	        j
                  t        |j                        t        |j                              rJ d|j                  d<   t	        j
                  t        |d      t        |d            rJ t	        j
                  t        |d	      t        |d	            sJ d|j                  d<   t	        j
                  t        |d	      t        |d	            rJ t        j                  ||       t        j                  ||       y )NrS   rU   r)   r   r   r5   Tdeepindexr
   r8   rW   r   r   r   )r   r   r   joinr   r   r   r   r   r   r   )r   df_indexr;   r   rZ   r[   r   s          r    test_join_on_keyr     s   _5>H
S)$HMMtM,D
EC
S)$HMMtM,D
ECxxzHxxzHXXceX$FIfc2Ic34GHHHIfc2Ic34GHHHIfll3Ysyy5IJJJ	&,, 73999MNNNFKK	&# 6	#s8KLLLIfc2Ic34GHHHFKK	&# 6	#s8KLLL#x(#x(r"   c                     t        g ddt              } t        dg di| j                  d            }t        d	g d
i| j                  d            t        dg di| j                  d            g}|j                         }|D cg c]  }|j                          }}|j	                  |      }t        j                  t        |d      t        |d            sJ t        j                  t        |d	      t        |d   d	            sJ t        j                  t        |d      t        |d   d            sJ t        j                  t        |j                        t        |j                              sJ t        j                  t        |j                        t        |d   j                              rJ t        j                  t        |j                        t        |d   j                              rJ d|j                  d<   t        j                  t        |d      t        |d            rJ t        j                  t        |d	      t        |d   d	            sJ t        j                  t        |d      t        |d   d            sJ d|j                  d<   t        j                  t        |d	      t        |d   d	            rJ t        j                  t        |d      t        |d   d            sJ d|j                  d<   t        j                  t        |d      t        |d   d            rJ t        j                  ||       t        ||d      D ]  \  }}t        j                  ||        y c c}w )NrS   rU   r|   r   r5   Tr}   r   r
   r8   r7   rq   r   r   r   r   rY   )strict)r   r   r   r   r   r   r   r   r   r   r   r   zip)r   r;   dfs_listrZ   r   dfs_list_origr   r   s           r    $test_join_multiple_dataframes_on_keyr   )  s   _5?H
S)$HMMtM,D
EC3	"(--T-*BC3	"(--T-*BCH
 xxzH)122RWWY2M2XXhFIfc2Ic34GHHHIfc2Ihqk34OPPPIfc2Ihqk34OPPPIfll3Ysyy5IJJJ	&,, 78A;CTCT9UVVV	&,, 78A;CTCT9UVVVFKK	&# 6	#s8KLLLIfc2Ihqk34OPPPIfc2Ihqk34OPPPFKK	&# 6	(1+s8STTTIfc2Ihqk34OPPPFKK	&# 6	(1+s8STTT#x(8]4@ +G
b'*+1 3s   N)!numpyr   pytestpandasr   r   r   r   r   pandas._testing_testingr   pandas.tests.copy_view.utilr   r!   r%   r3   r=   rA   rC   rF   rI   markparametrizer\   ra   rl   ro   rv   ry   r   r   r    r"   r    <module>r      s        1'$,$,(,",",&,$I 
;<)).)* 	GQ	GP))4I+K 65/2) 3)6#+r"   