o
    �¨Êh¼  ã                   @   sX   d dl Z d dlmZmZmZ d dlmZ e jj	Z
e  d¡ e j d¡G dd„ dƒƒZdS )é    N)Ú	DataFrameÚSeriesÚoption_contextÚnumbaÚ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   úQ/var/www/html/env/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_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)Ú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_unsupported9   ó   "ÿ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=1r5   r   r   r   r7   r;   r   r   r*   Útest_axis_1_unsupported@   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_raiseG   s   
ÿz&TestEngine.test_no_engine_doesnt_raiseN)	Ú__name__Ú
__module__Ú__qualname__r+   r-   r3   r<   r?   rC   r   r   r   r*   r      s    r   )r8   Úpandasr   r   r   Úpandas._testingÚ_testingr   ÚmarkÚ
single_cpuÚ
pytestmarkÚimportorskipÚfilterwarningsr   r   r   r   r*   Ú<module>   s    

