
     j3                         d dl Z d dlZd dlZd dlZd dlmZmZ d dlm	Z
 ej        d             Zej        d             Z G d d          ZdS )    N)	DataFramemerge_orderedc                  .    t          g dg dd          S )N)ace)          @   )keylvaluer        C:\Users\Terasoftware\OneDrive\Desktop\faahhh\fyndo\fyndo\venv\Lib\site-packages\pandas/tests/reshape/merge/test_merge_ordered.pyleftr      s     ___DDEEEr   c                  .    t          g dg dd          S )N)br   df)r	            @   r   rvaluer   r   r   r   rightr      s#    111^^^LLMMMr   c                      e Zd Zd Zd Zd Zej                            d          d             Z	ej        
                    ddg dfi dfd	gd
fd	d	gd
fg          d             Zej        
                    d e            gd	 e            g e            d	gg          d             Zd Zej        
                    d eddgddgddgd           edgdgd          dgddgd	 edgdz  dgdz  g dej        dej        gd          f eddgddgddgd           edgdgd          dddgd	 edgdz  dgdz  g dej        dej        gd          f edgdgd           eddgddgddgd          dgd	ddg eg dej        dej        gdgdz  dgdz  d          fg          d             Zd Zd  Zej        
                    d!d"d#g          d$             Zd% Zd	S )&TestMergeOrderedc           
          t          ||d          }t          g ddt          j        dt          j        dt          j        gt          j        dddt          j        dgd          }t	          j        ||           d S )	Nr   onr   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   npnantmassert_frame_equalselfr   r   resultexpecteds        r   
test_basiczTestMergeOrdered.test_basic   s}    tUu555555bfaBF;61aBFA6 
 
 	fh/////r   c           
          t          ||dd          }t          g dg dt          j        ddddd	gd
          }t	          j        ||           d S )Nr   ffillr!   fill_methodr"         ?r	   r   r   r   r   r	   r   r   r   r#   r$   r)   s        r   
test_ffillzTestMergeOrdered.test_ffill%   sp    tUu'JJJ55500061aAq1 
 
 	fh/////r   c           
      L   t          j        ||gd          }dgdz  dgdz  z   |d<   t          ||ddd	          }t          g d
dz  g ddz  t          j        dddddgdz  d          }dgdz  dgdz  z   |d<   t          j        ||j        d d |j	        f                    t          ||ddd          }t          j        ||j        d d |j	        f                    t          ||dd          }|d         
                                                                sJ d S )NT)ignore_indexr   r   r   groupr   r/   )r!   left_byr1   r"   r   r2   r	   r   r#      )r!   right_byr1   r!   r8   )pdconcatr   r   r%   r&   r'   r(   loccolumnsnotnaall)r*   r   r   r+   r,   result2s         r   test_multigroupz TestMergeOrdered.test_multigroup0   sm   y$D999	SEAI-W%E7
 
 
 55590001461aAq1A5 
 
 !EAI	1
fhl111fn3D&EFFF4EG
 
 
 	fgk!!!V^2C&DEEEtUugFFFg$$&&**,,,,,,,r   zMignore:Passing a BlockManager|Passing a SingleBlockManager:DeprecationWarningc                      G fddt                      |          }|                    |d          }t          |          sJ d S )Nc                   *    e Zd Ze fd            ZdS )7TestMergeOrdered.test_merge_type.<locals>.NotADataFramec                     S Nr   )r*   NotADataFrames    r   _constructorzDTestMergeOrdered.test_merge_type.<locals>.NotADataFrame._constructorP   s	    $$r   N)__name__
__module____qualname__propertyrJ   )rI   s   r   rI   rF   O   s8        % % % % X% % %r   rI   r   r    )r   merge
isinstance)r*   r   r   nadr+   rI   s        @r   test_merge_typez TestMergeOrdered.test_merge_typeK   sy    	% 	% 	% 	% 	% 	% 	%I 	% 	% 	%
 mD!!5U++&-0000000r   zdf_seq, pattern)r   [Nn]o objectsrS   Nzobjects.*Nonec                     t          j        t          |          5  t          j        |           d d d            d S # 1 swxY w Y   d S )Nmatch)pytestraises
ValueErrorr<   r=   )r*   df_seqpatterns      r   test_empty_sequence_concatz+TestMergeOrdered.test_empty_sequence_concatY   s     ]:W555 	 	If	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   >AAargc                 .    t          j        |           d S rH   )r<   r=   )r*   r]   s     r   test_empty_sequence_concat_okz.TestMergeOrdered.test_empty_sequence_concat_okh   s     		#r   c           
      J   t          t          d          g dg ddz  d          }t          g dg dd          }t          ||dd	
          }t          t          d          g ddz  g ddz  t          j        ddddgdz  d          }t          j        ||           d S )Naaabbbr   r   r   r   r   r   r	   r   r   r   )r7   r   r   r   r   r   r   r/   r7   )r1   r8   
aaaaabbbbb)r   r   r   r   r   )r	   r	   r   r   r   r	   r   )r7   r   r   r   r   listr   r%   r&   r'   r(   r)   s        r   test_doc_examplez!TestMergeOrdered.test_doc_examplen   s    h555#))a- 
 
 ///YYYGGHHtUQQQl++00014)//A-61aA.2	 
 
 	fh/////r   z,left, right, on, left_by, right_by, expectedghr	   r   )GHTr   )rm   Erm   rk   rl   rc   r3   )rk   rl   rm   rn   )rm   rn   rk   rl   c                 X    t          |||||          }t          j        ||           d S )N)r   r   r!   r8   r:   )r   r'   r(   )r*   r   r   r!   r8   r:   r,   r+   s           r   test_list_type_byz"TestMergeOrdered.test_list_type_by   sC    h 
 
 
 	fh/////r   c                 N   t          g dg dgt          d                    }t          ddggt          d                    }t          ||dd	d
g          }t          dgdz  dgdz  g dt          j        dt          j        gd          }t          j        ||           d S )Nri   rj   r	   ri   rj   r   GHEr?   r   r	   ETrn   rk   rl   r;   ri   r   rj   rc   r3   )rk   rl   rn   rm   rf   r)   s        r   *test_left_by_length_equals_to_right_shape0z;TestMergeOrdered.test_left_by_length_equals_to_right_shape0   s    ---7eMMMAq6(DJJ777tUsS#JGGG%!)3%!))))263PRPVBWXX
 
 	fh/////r   c                 &   t          g dg dgt          d                    }t          ddggt          d                    }d}t          j        t          |	          5  t          ||d
ddg           d d d            d S # 1 swxY w Y   d S )Nrr   rs   rt   ru   r   r	   rv   z!\{'h'\} not found in left columnsrU   rn   rk   rj   r;   )r   rg   rW   rX   KeyErrorr   )r*   r   r   msgs       r   !test_elements_not_in_by_but_in_dfz2TestMergeOrdered.test_elements_not_in_by_but_in_df   s    ---7eMMMAq6(DJJ7772]83/// 	C 	C$#SzBBBB	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	Cs   #BB
B
invalid_methodlinearcarrotc                     t          j        t          t          j        d                    5  t          ||d|           d d d            d S # 1 swxY w Y   d S )Nz#fill_method must be 'ffill' or NonerU   r   r0   )rW   rX   rY   reescaper   )r*   r   r   r|   s       r   test_ffill_validate_fill_methodz0TestMergeOrdered.test_ffill_validate_fill_method   s     ]bi(MNN
 
 
 	M 	M $%^LLLL	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	Ms   AAAc                    t          g dg dg dd          }t          g dg dd          }t          ||dd	d
          }t          g dg dg dt          j        ddt          j        ddgd          }t	          j        ||           d S )Nrb   )r	   r   r   r	   r   r   )r   r   r   r   r   r   )r   r   r7   rd   rc   r   r/   r7   r   )r1   r8   howr
   )r   r   r7   r   )r   r   r%   r&   r'   r(   )r*   df1df2r+   r,   s        r   test_ffill_left_mergez&TestMergeOrdered.test_ffill_left_merge   s    555,,,777 
 
 999EEFF'7
 
 
 555,,,77763RVS#>	 
 
 	fh/////r   )rK   rL   rM   r-   r4   rC   rW   markfilterwarningsrR   parametrizer\   r   r_   rh   r%   r&   rp   rw   r{   r   r   r   r   r   r   r      s       
0 
0 
0	0 	0 	0- - -6 [W 	1 	1 	1 [!!!V_%D\?+	
	 	 	 	
 [iikk2YY[[$4GH   0 0 00 [6 	c
#s1a&IIJJ	1#..//c
	!UQY!UQY&YY fc262	    	c
#s1a&IIJJ	1#..//c
	!UQY!UQY&YY fc262	    	1#..//	c
#s1a&IIJJc
	&YY fc262!UQY!UQY	  ?.	
1 1d
0 
0e1 1d
0	0 	0 	0C C C [-(/CDDM M EDM0 0 0 0 0r   r   )r   numpyr%   rW   pandasr<   r   r   pandas._testing_testingr'   fixturer   r   r   r   r   r   <module>r      s    				                       F F F N N N\0 \0 \0 \0 \0 \0 \0 \0 \0 \0r   