o
    dw                     @   s^   d dl Z d dlm  mZ d dlmZmZ d dlm	Z
 ede jdG dd dZdS )    N)	DataFrameSeriesnumbaignorec                   @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )
TestEnginec                 C   s   |\}}t g dtdtddd}|||d}	|jd|d}
t|
|dd	|	d
|}t|
|di |}|dv}tj|||d d S )N      r   r	            abcnogilparallelnopythonr   sortr   engineengine_kwargssumminmaxcheck_dtype )r   rangegroupbygetattrtmZassert_frame_equalselfr   r   r   r   numba_supported_reductionsfunckwargsdfr   gbresultexpectedr   r    r    S/app/.heroku/python/lib/python3.10/site-packages/pandas/tests/groupby/test_numba.pytest_cython_vs_numba_frame   s   
z%TestEngine.test_cython_vs_numba_framec                 C   s   |\}}t g dtdtddd}|||d}	|jd|dd	 }
t|
|dd
|	d|}t|
|di |}|dv}tj|||d d S )Nr   r
   r   r   r   r   r   r   r   r   r   r   r   r    )r   r!   r"   r#   r$   assert_series_equalr%   r    r    r.   test_cython_vs_numba_getitem   s   
z'TestEngine.test_cython_vs_numba_getitemc                 C   s   |\}}t tdg ddd}|||d}	|jd|d}
t|
|dd|	d	|}t|
|di |}|d
v}tj|||d d S )Nr   )r   r	   r   Zfoo)indexnamer   r   )levelr   r   r   r   r   r    )r   r!   r"   r#   r$   r0   )r&   r   r   r   r   r'   r(   r)   Zserr   r+   r,   r-   r   r    r    r.   test_cython_vs_numba_series.   s   
z&TestEngine.test_cython_vs_numba_seriesc                 C   s   |\}}t g dtdtddd}|jddd}tjtd	d
 t||dddi| W d    d S 1 s9w   Y  d S )Nr   r
   r   r   r   r   F)Zas_indexzas_index=Falsematchr   r   r    r   r!   r"   pytestZraisesNotImplementedErrorr#   r&   r'   r(   r)   r*   r+   r    r    r.   test_as_index_false_unsupported=      "z*TestEngine.test_as_index_false_unsupportedc                 C   s   |\}}t g dtdtddd}|jddd}tjtdd	 t||dd
di| W d    d S 1 s9w   Y  d S )Nr   r
   r   r   r   r   )Zaxiszaxis=1r6   r   r   r    r8   r;   r    r    r.   test_axis_1_unsupportedD   r=   z"TestEngine.test_axis_1_unsupportedN)__name__
__module____qualname__r/   r1   r5   r<   r>   r    r    r    r.   r      s    r   )r9   Zpandas.util._test_decoratorsutilZ_test_decoratorstdZpandasr   r   Zpandas._testingZ_testingr$   Z
skip_if_nomarkfilterwarningsr   r    r    r    r.   <module>   s    
