
    Owg              	           d Z ddlZddlZddlmZ ddlmZ ddlm	Z	 d Z
d Zej                  j                  d ej                  ddgd	
      ej                  j!                  dd	dg      g      d        Zy)a;  
Tests that apply to all groupby operation methods.

The only tests that should appear here are those that use the `groupby_func` fixture.
Even if it does use that fixture, prefer a more specific test file if it available
such as:

 - test_categorical
 - test_groupby_dropna
 - test_groupby_subclass
 - test_raises
    N)	DataFrame)get_groupby_method_argsc                 v   t        g g g d      j                  g d      }|j                  g dd      }t        ||       }t	        | |      }| dk(  rt
        nd }d}t        j                  ||      5   || j                  }d d d        |j                  }t        j                  |       y # 1 sw Y   ,xY w)NabcF)
group_keysfillna%DataFrameGroupBy.fillna is deprecatedmatch)
r   	set_indexgroupbygetattrr   FutureWarningtmassert_produces_warningindexassert_index_equal)	groupby_funcdfgbmethodargswarnwarn_msgresultexpecteds	            \/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/groupby/test_all_methods.py,test_multiindex_group_all_columns_when_emptyr!      s    	"2.	/	9	9/	JB	O	6BR&F"<4D(H4=$D6H		#	#D	9 %$$%xxH&(+% %s   4B//B8c                    |dk(  r1d}| j                  t        j                  j                  |             t	        g dg dg dgt        d            }t        ||      }|j                  d	|
      }|dk(  rt        nd }d}t        j                  ||      5   t        ||      | }	d d d        |j                  g dd      }
t        ||
      }|
j                  d	|
      }|dk(  rt        nd }d}t        j                  ||      5   t        ||      | }d d d        |dvrj                  ddi      }t        j                  	       y # 1 sw Y   xY w# 1 sw Y   DxY w)Ncorrwithz:GH#50845 - corrwith fails when there are duplicate columns)reason)         )r%         )         abbcolumnsr   )as_indexr   r   r   r   r%   )axis)sizengroupcumcountr	   r   )applymarkerpytestmarkxfailr   listr   r   r   r   r   r   set_axisrenameassert_equal)requestr   r0   msgr   r   r   r   r   r   expected_dfexpected_argsexpected_gbr   s                 r    test_duplicate_columnsrB   %   s^   z!JFKK--S-9:	Iy)4d5k	JB"<4D	C(	+B(H4=$D6H		#	#D	9 2*\*D12 ++oA+6K+L+FM%%cH%=K(H4=$D6H		#	#D	9 F57;5}EF99??C:?6OOFH%2 2F Fs   EE E E)idxr   foo)name)r   r   rF   bar)namesc                    | dv rt        j                  d|         t        ddgg|      }|j                  dg      }t	        | |      }| dk(  rt
        nd }d}t        j                  ||      5   t        ||       | }d d d        j                  d	k(  sJ t        j                  |j                  |       y # 1 sw Y   ;xY w)
N>   r2   r3   r4   zNot applicable for r%   r.   r   r   r   r   )r%   r*   )r6   skipr   r   r   r   r   r   r   shaper   r/   )r   rC   r   grp_byr   r   r   r   s           r    test_dup_labels_output_shaperM   >   s     55),89	QF8S	)BZZ_F"<4D(H4=$D6H		#	#D	9 6..56 <<6!!!&..#.	6 6s   1B;;C)__doc__r6   pandaspdr   pandas._testing_testingr   pandas.tests.groupbyr   r!   rB   r7   parametrizeIndex
MultiIndexfrom_tuplesrM        r    <module>rZ      s        8,&2 	#s%(
!!":5%.!Q//rY   