a
    Pf                  
   @   s   d dl m Z  d dlZd dlZd dlmZmZmZ d dlm	Z
 d dlmZ ejdZejde
ded die
jed ddd	gd
d Zdd Zejdee
jgdd ZdS )    )datetimeN)	DataFrameIndexSeries)get_groupby_method_argszMignore:Passing a BlockManager|Passing a SingleBlockManager:DeprecationWarningobjA
   namec           	      C   sf  t | tr"|dv r"td|  | tdd}t |dt| sLJ t	|| }|dkrbt
nd }t|j d}tj||dd t||| }W d    n1 s0    Y  tj||dd" |j|g|R  }W d    n1 s0    Y  h d	}t | tr(||v r(t |tjs<J nt |t| s<J t |trVt|| nt|| d S )
N>   ZcorrwithzNot applicable for Series and r   r	   Zfillnaz.fillna is deprecatedF)matchraise_on_extra_warnings>   sizeZngroupZcumcount)
isinstancer   pytestskipgroupbynparangeZ	get_grouptyper   FutureWarning__name__tmassert_produces_warninggetattraggr   SubclassedSeriesZassert_frame_equalassert_series_equal)	r   Zgroupby_funcgroupedargswarnmsgZresult1Zresult2Zslices r"   c/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pandas/tests/groupby/test_groupby_subclass.pytest_groupby_preserves_subclass   s$    

,0r$   c            	      C   sr  t g dg dg dd} d| jv s,J d| _| dD ]\}}|jdks<J q<dd	 }d
}t jt|ddd  | d|}W d    n1 s0    Y  t jdgd t	g dddd}t 
|| | dj|dd}t 
|| | dddg |}t 
|| dd }t g d}d|_|| d |}t 
|| || d |}t 
|| d S )N)         )r%   r%   r&   )      	   )abctestattrhellor-   c                 S   s2   t | tjsJ t| dsJ | jdks,J | jS )Nr.   r/   )r   r   SubclassedDataFramehasattrr.   groupr"   r"   r#   funcE   s    z-test_groupby_preserves_metadata.<locals>.funcz7DataFrameGroupBy.apply operated on the grouping columnsFr   r   Zcheck_stacklevelr'   r
   )index)Zinclude_groupsr+   r,   c                 S   s$   t | tjsJ t| dsJ | jS )Nr.   )r   r   r   r1   r.   r2   r"   r"   r#   func2]   s    z.test_groupby_preserves_metadata.<locals>.func2)r   r0   	_metadatar.   r   r   DeprecationWarningapplyr   r   r   r   )	Z	custom_df_Zgroup_dfr4   r!   resultexpectedr7   Zcustom_seriesr"   r"   r#   test_groupby_preserves_metadata<   s6    . r>   c                 C   s   | d  g dtdddddtdddddtdd	dd
dtdd	dd	dtdddddtdddddgd}|d}d}tjt|ddd$ |dd }W d    n1 s0    Y  t	|| sJ d S )NzCarl Carl Carl Carl Joe Carl)   r'      r%   r*   r'   i  r*   r%      r   r@   r	      r'      r&      )BuyerZQuantityDaterF   z:DataFrameGroupBy.resample operated on the grouping columnsFr5   rE   Z5D)
splitr   Z	set_indexr   r   r9   r   Zresamplesumr   )r   Zdfr!   r<   r"   r"   r#   (test_groupby_resample_preserves_subclassj   s,    
2rI   )r   numpyr   r   Zpandasr   r   r   Zpandas._testingZ_testingr   Zpandas.tests.groupbyr   markfilterwarningsZ
pytestmarkZparametrizer0   r   r   r$   r>   rI   r"   r"   r"   r#   <module>   s$   
".