U
    sVcw                     @   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 ddddgtdtddd}|||d}	|jd|d	}
t|
|f d
|	d|}t|
|f |}|dk}tj|||d d S )N               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,   C/tmp/pip-unpacked-wheel-xj8nt62q/pandas/tests/groupby/test_numba.pytest_cython_vs_numba_frame   s    "
 z%TestEngine.test_cython_vs_numba_framec                 C   s   |\}}t ddddgtdtddd}|||d}	|jd|d	d
 }
t|
|f d|	d|}t|
|f |}|dk}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dddgdd}|||d}	|jd|d}
t|
|f d	|	d
|}t|
|f |}|dk}tj|||d d S )Nr   r
   r   Zfoo)indexnamer   r   )levelr   r   r   r   r   )r   r   r    r!   r"   r/   )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   sn   |\}}t ddddgtdtddd}|jddd	}tjtd
d t||f ddi| W 5 Q R X d S )Nr   r   r	   r
   r   r   r   F)Zas_indexzas_index=Falsematchr   r   r   r   r    pytestZraisesNotImplementedErrorr!   r$   r%   r&   r'   r(   r)   r,   r,   r-   test_as_index_false_unsupported=   s
    "z*TestEngine.test_as_index_false_unsupportedc              	   C   sn   |\}}t ddddgtdtddd}|jddd}tjtd	d
 t||f ddi| W 5 Q R X d S )Nr   r   r	   r
   r   r   r   )Zaxiszaxis=1r5   r   r   r7   r:   r,   r,   r-   test_axis_1_unsupportedD   s
    "z"TestEngine.test_axis_1_unsupportedN)__name__
__module____qualname__r.   r0   r4   r;   r<   r,   r,   r,   r-   r      s
   r   )r8   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   
