o
    vh                     @   s   d dl Z d dlmZ d dlmZmZmZ d dlmZ	 d dl
mZ e jjgZe dZee jjeejedko:e dej d e jd	G d
d dZdS )    N)is_platform_arm)	DataFrameSeriesoption_context)Versionnumbaz0.61z&Segfaults on ARM platforms with numba )reasonignorec                   @   s<   e Zd Zd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 |}t|| d S )N      r   r            abcnogilparallelnopythonr   sortr   engineengine_kwargs )r   rangegroupbygetattrtmassert_frame_equalselfr   r   r   r   numba_supported_reductionsfunckwargsdfr   gbresultexpectedr   r   ]/var/www/html/hyperkenya/venv/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 |}t|| d S )Nr   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   sv   |\}}t tdg ddd}|||d}	|jd|d}
t|
|d
d|	d	|}t|
|d
i |}t|| d S )Nr   )r   r   r   foo)indexnamer   r   )levelr   r   r   r   )r   r   r    r!   r"   r/   )r%   r   r   r   r   r&   r'   r(   serr   r*   r+   r,   r   r   r-   test_cython_vs_numba_series5   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)as_indexzas_index=Falsematchr   r   r   r   r   r    pytestraisesNotImplementedErrorr!   r%   r&   r'   r(   r)   r*   r   r   r-   test_as_index_false_unsupportedB      "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   )axiszaxis=1r8   r   r   r   r:   r>   r   r   r-   test_axis_1_unsupportedI   r@   z"TestEngine.test_axis_1_unsupportedc                 C   s~   t g dtdtddd}|d}tdd |d	d
i}W d    n1 s+w   Y  |d	d
i}t|| d S )Nr   r   r   r   r   r   zcompute.use_numbaTr   first)r   r   r    r   aggr"   r#   )r%   r)   r*   resr,   r   r   r-   test_no_engine_doesnt_raiseP   s   
z&TestEngine.test_no_engine_doesnt_raiseN)	__name__
__module____qualname__r.   r0   r6   r?   rB   rF   r   r   r   r-   r
      s    r
   )r;   pandas.compatr   pandasr   r   r   pandas._testing_testingr"   pandas.util.versionr   mark
single_cpu
pytestmarkimportorskipr   appendskipif__version__filterwarningsr
   r   r   r   r-   <module>   s    



