
    Gohv=                        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ej*                  j-                  dg d      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ej*                  j-                  dg d      d        Zej*                  j-                  dedg      d        Zd Zy)    N)	DataFrameIndexSeriesconcatmerge)	get_arrayc                 z   t        ddgdz  it              }t        ddgdz  it              }|j                         }t        ||gd      }| rXt	        j
                  t        |d      t        |d            sJ t	        j
                  t        |d      t        |d            sZJ t	        j
                  t        |d      t        |d            rJ t	        j
                  t        |d      t        |d            rJ d|j                  d<   | rXt	        j
                  t        |d      t        |d            rJ t	        j
                  t        |d      t        |d            sJ d|j                  d	<   | r,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)using_copy_on_writedfdf2df_origresults        /var/www/html/wine-match-dev/backend/winematch-backend/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	&# 6	"c8JKKK	&# 6	#s8KLLL##Ifc$:Ib#<NOOO##Ifc$:Ic3<OPPPFKK##Ifc$:Ib#<NOOO	&# 6	#s8KLLLFKK##Ifc$:Ic3<OPPP"g&    c                 z   t        ddgdz  it              }t        ddgdz  it              }t        ||gd      }| rXt        j                  t        |d      t        |d            sJ t        j                  t        |d      t        |d            sZJ t        j                  t        |d      t        |d            rJ t        j                  t        |d      t        |d            rJ |j                         }d|j                  d<   | rXt        j                  t        |d      t        |d            rJ t        j                  t        |d      t        |d            sJ d|j                  d<   | r,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   r    expecteds        r!   !test_concat_frames_updating_inputr&   '   sz   	C##6	2B
S3%!)$F
3CRIA&F	&# 6	"c8JKKK	&# 6	#s8KLLL##Ifc$:Ib#<NOOO##Ifc$:Ic3<OPPP{{}HBGGDM##Ifc$:Ib#<NOOO	&# 6	#s8KLLLCHHTN##Ifc$:Ic3<OPPP&(+r#   c                    t        ddgd      }t        ddgd      }|j                         }|j                         }t        ||gd      }| rXt        j                  t        |d      |j                        sJ t        j                  t        |d      |j                        sZJ t        j                  t        |d      |j                        rJ t        j                  t        |d      |j                        rJ d	|j                  d
<   | rXt        j                  t        |d      |j                        rJ t        j                  t        |d      |j                        sJ d|j                  d<   | r,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)r   serser2ser_orig	ser2_origr    s         r!   test_concat_seriesr4   ?   st   
!Qc
"C1a&s#DxxzH		IS$Ka(F	&# 6

CCC	&# 6DDD##Ifc$:CJJGGG##Ifc$:DKKHHHFKK##Ifc$:CJJGGG	&# 6DDDFKK##Ifc$:DKKHHH3)4+r#   c                 v   t        g dg dd      }t        dg di      }t        dg di      }t        t        ||gd      |gd      }|j                         }| rt        j                  t        |d	      t        |d	            sJ t        j                  t        |d      t        |d            sJ t        j                  t        |d      t        |d            sJ t        j                  t        |d	      t        |d	            rJ t        j                  t        |d      t        |d            rJ t        j                  t        |d      t        |d            rJ d
|j                  d<   | r,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   )r   df1r   df3r    r%   s         r!   test_concat_frames_chainedr>   Y   su   
)/:
;C
S)$
%C
S)$
%CVS#JQ/5A>F{{}H	&# 6	#s8KLLL	&# 6	#s8KLLL	&# 6	#s8KLLL##Ifc$:Ic3<OPPP##Ifc$:Ic3<OPPP##Ifc$:Ic3<OPPPCHHTN##Ifc$:Ic3<OPPP&(+r#   c                 p   t        g dd      }t        g dd      }t        g dd      }t        t        ||gd      |gd      }|j                         }| rt        j                  t        |d      t        |d            sJ t        j                  t        |d      t        |d            sJ t        j                  t        |d      t        |d            sJ t        j                  t        |d      t        |d            rJ t        j                  t        |d      t        |d            rJ t        j                  t        |d      t        |d            rJ d	|j                  d
<   | r,t        j                  t        |d      t        |d            rJ t        j                  ||       y )Nr6   r   r)   r9   r8   r   r   r   r,   r   )	r   r   r   r   r   r   r   r   r   )r   ser1r1   ser3r    r%   s         r!   test_concat_series_chainedrB   p   sl   )#&D)#&D)#&DVT4Lq148qAF{{}H	&# 6	$8LMMM	&# 6	$8LMMM	&# 6	$8LMMM##Ifc$:IdC<PQQQ##Ifc$:IdC<PQQQ##Ifc$:IdC<PQQQDIIaL##Ifc$:IdC<PQQQ&(+r#   c                    t        ddgd      }t        ddgd      }t        ddgddgd      }t        ||gd	      }| rXt        j                  t        |d      t        |d            sJ t        j                  t        |d      t        |d            sZJ t        j                  t        |d      t        |d            rJ t        j                  t        |d      t        |d            rJ d
|j                  d<   | rXt        j                  t        |d      t        |d            rJ t        j                  t        |d      t        |d            sJ t        j                  ||       d|j                  d<   | r,t        j                  t        |d      t        |d            rJ t        j                  ||       y )Nr   r(   r   r)   r   r+   r
   r7   r   r,   r   r-   )	r   r   r   r   r   r   r   r   r   )r   r0   r1   r%   r    s        r!   !test_concat_series_updating_inputrD      s   
!Qc
"C1a&s#D1vQF34HS$Ka(F	&# 6	#s8KLLL	&# 6	$8LMMM##Ifc$:Ic3<OPPP##Ifc$:IdC<PQQQCHHQK##Ifc$:Ic3<OPPP	&# 6	$8LMMM&(+DIIaL##Ifc$:IdC<PQQQ&(+r#   c                    t        g ddd      }t        g dd      }t        ||gd      }|j                         }| rt	        j
                  t        |d      t        |d            sJ t	        j
                  t        |d	      t        |d	            sJ t	        j
                  t        |d      t        |d            sJ t	        j
                  t        |d      t        |d            rJ t	        j
                  t        |d	      t        |d	            rJ t	        j
                  t        |d      t        |d            rJ d
|j                  d<   | r,t	        j
                  t        |d      t        |d            rJ d
|j                  d<   | r,t	        j
                  t        |d      t        |d            rJ t        j                  ||       y )Nr6   r   )r   r8   r9   r   r)   r   r   r8   r,   r   r   )
r   r   r   r   r   r   r   r   r   r   )r   r   r0   r    r%   s        r!   test_concat_mixed_series_framerF      s   	+	,B

%CRIA&F{{}H	&# 6	"c8JKKK	&# 6	"c8JKKK	&# 6	#s8KLLL##Ifc$:Ib#<NOOO##Ifc$:Ib#<NOOO##Ifc$:Ic3<OPPPCHHQK##Ifc$:Ic3<OPPPBGGDM##Ifc$:Ib#<NOOO&(+r#   r   )TNFc                    t        dddgi      }t        dddgi      }t        ||gd|      }| s|du rYt        j                  t	        |d      t	        |d            sJ t        j                  t	        |d      t	        |d            sJ y t        j                  t	        |d      t	        |d            rJ t        j                  t	        |d      t	        |d            rJ y )	Nr   r   r(   r
   g      ?g      @)r   r   F)r   r   r   r   r   r   r   r   r   r    s        r!   test_concat_copy_keywordrI      s    	C!Q=	!B
S3*%
&CRIAD1Fdem	"c 2Ifc4JKKK	#s 3Yvs5KLLL##Ib#$6	&#8NOOO##Ic3$7639OPPPPr#   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      }| rt	        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            rZJ t	        j
                  t        |d	      t        |d	            rJ t	        j
                  t        |d
      t        |d
            rJ d|j                  d<   | rXt	        j
                  t        |d	      t        |d	            rJ t	        j
                  t        |d
      t        |d
            sJ d|j                  d<   | r,t	        j
                  t        |d
      t        |d
            rJ t        j                  ||       t        j                  ||       y )Nr   r
   r8   r   r6   keyr   r9   rU   r
   rU   onr   r
   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	&# 6	#s8KLLL	&# 6	#s8KLLL	&% 8)C:OPPP##Ife$<iU>STTT##Ifc$:Ic3<OPPP##Ifc$:Ic3<OPPPFKK##Ifc$:Ic3<OPPP	&# 6	#s8KLLLFKK##Ifc$:Ic3<OPPP#x(#x(r#   c                    t        dg di      }t        dg di      }|j                         }|j                         }t        ||dd      }| rXt        j                  t        |d      t        |d            sJ t        j                  t        |d      t        |d            sZJ t        j                  t        |d      t        |d            rJ t        j                  t        |d      t        |d            rJ d|j                  d<   | rXt        j                  t        |d      t        |d            rJ t        j                  t        |d      t        |d            sJ d|j                  d	<   | r,t        j                  t        |d      t        |d            rJ t        j                  ||       t        j                  ||       y )
Nr   r6   r
   r9   T)
left_indexright_indexr   r   r   )	r   r   r   r   r   r   r   r   r   )r   r<   r   rZ   r[   r    s         r!   test_merge_on_indexr`      s   
S)$
%C
S)$
%CxxzHxxzH3$?F	&# 6	#s8KLLL	&# 6	#s8KLLL##Ifc$:Ic3<OPPP##Ifc$:Ic3<OPPPFKK##Ifc$:Ic3<OPPP	&# 6	#s8KLLLFKK##Ifc$:Ic3<OPPP#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 rb   rM   rN   s      r!   rP   rP     rc   r#   leftc                 l   t        t        g dt              g dd      }t        t        ddgt              ddgd	      }|j                         }|j                         } ||||
      }| rt	        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            rZJ t	        j
                  t        |d      t        |d            rJ t	        j
                  t        |d      t        |d            rJ |dk(  rd|j                  d<   nd|j                  d<   | r,t	        j
                  t        |d      t        |d            rJ t        j                  ||       t        j                  ||       y )NrS   r   r6   rT   r   r
   r+   r:   rV   )howr   r   rU   rf   r   rY   )r   r   r   r   r   r   r   _mgr_has_no_referencer   r   r   )r   rJ   rh   r<   r   rZ   r[   r    s           r!   test_merge_on_key_enlarging_onerk     s    F?&A	R
SC
FC:V<Aq6J
KCxxzHxxzH#s$F	&# 6	#s8KLLL##Ifc$:Ic3<OPPPxx))!,,,xx))!,,,	&% 8)C:OP6M
 	
 
 ##Ife$<iU>STTT##Ifc$:Ic3<OPPP##Ifc$:Ic3<OPPP
f}DD##Ifc$:Ic3<OPPP#x(#x(r#   c                    t        dddgi      }t        dddgi      }|j                  ||dd      }| s|d	u rYt        j                  t	        |d      t	        |d            sJ t        j                  t	        |d      t	        |d            sJ y t        j                  t	        |d      t	        |d            rJ t        j                  t	        |d      t	        |d            rJ y )
Nr   r   r(   r
   r   g      @T)r   r^   r_   F)r   r   r   r   r   rH   s        r!   test_merge_copy_keywordrm   -  s    	C!Q=	!B
S1c(O
$CXXc4XHFdem	"c 2Ifc4JKKK	#s 3Yvs5KLLL##Ib#$6	&#8NOOO##Ic3$7639OPPPPr#   r   strc                    t        g dd|       }t        dg di|j                  d            }t        d	g d
i|j                  d            }|j                         }|j                         }|j                  |d      }|rt	        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                              rZJ t	        j
                  t        |d      t        |d            rJ t	        j
                  t        |d	      t        |d	            rJ d|j                  d<   |rXt	        j
                  t        |d      t        |d            rJ t	        j
                  t        |d	      t        |d	            sJ d|j                  d<   |r,t	        j
                  t        |d	      t        |d	            rJ t        j                  ||       t        j                  ||       y )NrS   rU   r*   r   r   r6   Tdeepindexr
   r9   rW   r   r   r   )r   r   r   joinr   r   r   r   rt   r   r   )r   r   df_indexr<   r   rZ   r[   r    s           r!   test_join_on_keyrw   <  s   _5>H
S)$HMMtM,D
EC
S)$HMMtM,D
ECxxzHxxzHXXceX$F	&# 6	#s8KLLL	&# 6	#s8KLLL	&,, 73999MNNN##Ifll$;Ysyy=QRRR##Ifc$:Ic3<OPPP##Ifc$:Ic3<OPPPFKK##Ifc$:Ic3<OPPP	&# 6	#s8KLLLFKK##Ifc$:Ic3<OPPP#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	                  |      }| rJt        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                              rJ t        j                  t        |d      t        |d            rJ t        j                  t        |d	      t        |d   d	            rJ t        j                  t        |d      t        |d   d            rJ d|j                  d<   | rt        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<   | r^t        j                  t        |d	      t        |d   d	            rJ t        j                  t        |d      t        |d   d            sJ d|j                  d<   | r/t        j                  t        |d      t        |d   d            rJ t        j                  ||       t        ||      D ]  \  }}t        j                  ||        y c c}w )NrS   rU   rp   r   r6   Trq   rs   r
   r9   r8   )      	   r   r   r   r   rY   )r   r   r   r   ru   r   r   r   rt   r   r   r   zip)	r   rv   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	&# 6	#s8KLLL	&# 6	(1+s8STTT	&# 6	(1+s8STTT	&,, 73999MNNN##fll#Yx{/@/@%A
 	
 
 ##fll#Yx{/@/@%A
 	
 
 ##Ifc$:Ic3<OPPP##Ifc$:IhqkSV<WXXX##Ifc$:IhqkSV<WXXXFKK##Ifc$:Ic3<OPPP	&# 6	(1+s8STTT	&# 6	(1+s8STTTFKK##Ifc$:IhqkSV<WXXX	&# 6	(1+s8STTTFKK##Ifc$:IhqkSV<WXXX#x(8]3 +G
b'*+I 3s   P)numpyr   pytestpandasr   r   r   r   r   pandas._testing_testingr   pandas.tests.copy_view.utilr   r"   r&   r4   r>   rB   rD   rF   markparametrizerI   r\   r`   rk   rm   r   rw   r    r#   r!   <module>r      s0       1'0,0,4,.,.,2,2 !45Q 6Q 
;<)):)6 	GQ	GP))> !45Q 6Q 65/2) 3)B/+r#   