
    .i              	          d Z ddlZddlm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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)Pandas4Warning)	DataFrame)get_groupby_method_argsc                 |   t        g g g d      j                  g d      }|j                  g dd      }t        ||       }t	        | |      }| dk(  r	t
        }d}nd }d}t        j                  ||      5   || j                  }d d d        |j                  }t        j                  |       y # 1 sw Y   ,xY w)NabcT)
group_keyscorrwith'DataFrameGroupBy.corrwith is deprecated match)
r   	set_indexgroupbygetattrr   r   tmassert_produces_warningindexassert_index_equal)	groupby_funcdfgbmethodargswarnwarn_msgresultexpecteds	            c/var/www/app/trading-bot/venv/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	5BR&F"<4Dz!<		#	#D	9 %$$%xxH&(+% %s   7B22B;c                    |dk(  r1d}| j                  t        j                  j                  |             t	        g dg dg dgt        d            }t        ||      }|j                  d	|
      } t        ||      | }|j                  g dd      }t        ||      }	|j                  d	|
      }
 t        |
|      |	 }|dvr|j                  ddi      }t        j                  ||       y )Nr   z:GH#50845 - corrwith fails when there are duplicate columns)reason)         )r%         )         abbcolumnsr   )as_indexr   r%   )axis)sizengroupcumcountr
   r	   )applymarkerpytestmarkxfailr   listr   r   r   set_axisrenamer   assert_equal)requestr   r0   msgr   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&WR&-F++oA+6K+L+FM%%cH%=K1w{L1=AH99??C:?6OOFH%    idxr   foo)name)r   r   rG   bar)namesc                    | dv rt        j                  d|         t        ddgg|      }|j                  dg      }t	        | |      }| dk(  r	t
        }d}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%   r*   )r6   skipr   r   r   r   r   r   r   shaper   r/   )r   rD   r   grp_byr   r   r   r   s           r!   test_dup_labels_output_shaperN   =   s     55),89	QF8S	)BZZ_F"<4Dz!<		#	#D	9 6..56 <<6!!!&..#.	6 6s   4B>>Cc                    | dk(  ry t        g dg ddd      }t        g dg dddg d	
      d d d   }|d   j                  j                  j                  d   rJ t	        | |      }|j                  d      } t        ||       | }|j                  d      } t        ||       | }t        j                  ||       y )Nr   )r%   r%   r*   )r&   r(   r+   )r   r	   Int64)dtype)r*   r%   r%   )r+   r(   r&   )r*   r%   r   )rQ   r   r	   C_CONTIGUOUSr   )	r   array_maskflagsr   r   r   r   r<   )r   r   reversedr   gb_reversedr   r   r    s           r!   test_not_c_contiguous_maskrY   Y   s    z!	37	CBi(y
dH }""((..~>>>"<4D""3'K/W[,/6F	CB(wr<($/HOOFH%rC   )__doc__r6   pandas.errorsr   pandaspdr   pandas._testing_testingr   pandas.tests.groupbyr   r"   rB   r7   parametrizeIndex
MultiIndexfrom_tuplesrN   rY    rC   r!   <module>rf      s     (    8,$&& 	#s%(
!!":5%.!Q//*&rC   