U
    b>                     @   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numbazignore:
c                   @   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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-ck39h295/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=1r1   r   r   r3   r6   r(   r(   r)   test_axis_1_unsupportedD   s
    "z"TestEngine.test_axis_1_unsupportedN)__name__
__module____qualname__r*   r,   r0   r7   r8   r(   r(   r(   r)   r      s
   r   )r4   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   
