o
    Û­j  ã                   @   s„   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d„ Z
dd„ Zej d	ejd
d
gdd�ejjdddgd�g¡dd„ ƒZdS )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           	      C   s¢   t g g g dœƒ g d¢¡}|jg d¢dd�}t|| ƒ}t| |ƒ}| dkr&tnd }d}tj||d�� ||Ž j}W d   ƒ n1 sAw   Y  |j}t 	||¡ d S )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Úexpected© r   úb/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pandas/tests/groupby/test_all_methods.pyÚ,test_multiindex_group_all_columns_when_empty   s   

ÿr    c                 C   sL  |dkrd}|   tjj|d�¡ tg d¢g d¢g d¢gtdƒd�}t||ƒ}|jd	|d
�}|dkr3tnd }d}t	j
||d�� t||ƒ|Ž }	W d   ƒ n1 sPw   Y  |jg d¢dd�}
t||
ƒ}|
jd	|d
�}|dkrptnd }d}t	j
||d�� t||ƒ|Ž }W d   ƒ n1 s�w   Y  |dvrž|jddid�}t	 |	|¡ d S )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   r.   Úmsgr   r   r   r   r   r   Úexpected_dfÚexpected_argsÚexpected_gbr   r   r   r   Útest_duplicate_columns%   s,   "
ÿ
ÿr@   Úidxr   Úfoo)Úname)©r   r   rD   Úbar)Únamesc                 C   s°   | dv rt  d| › �¡ tddgg|d�}| dg¡}t| |ƒ}| dkr&tnd }d}tj||d�� t|| ƒ|Ž }W d   ƒ n1 sCw   Y  |j	d	ksOJ ‚t 
|j|¡ d S )
N>   r0   r1   r2   zNot applicable for r#   r,   r   r	   r
   r   )r#   r(   )r4   Úskipr   r   r   r   r   r   r   Úshaper   r-   )r   rA   r   Úgrp_byr   r   r   r   r   r   r   Útest_dup_labels_output_shape>   s   
ÿrJ   )Ú__doc__r4   ÚpandasÚpdr   Úpandas._testingÚ_testingr   Úpandas.tests.groupbyr   r    r@   r5   ÚparametrizeÚIndexÚ
MultiIndexÚfrom_tuplesrJ   r   r   r   r   Ú<module>   s    þþ