a
    é´«jæ  ã                   @   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oteƒ 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|
|ƒf d	|	d
œ|¤Ž}t|
|ƒf 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Úexpected© r,   ú^/var/www/html/laksyashrimp/venv/lib/python3.9/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|
|ƒf d
|	dœ|¤Ž}t|
|ƒf i |¤Ž}t ||¡ d S )Nr   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|
|ƒf d|	d	œ|¤Ž}t|
|ƒf i |¤Ž}t ||¡ d S )
Nr   )r   r   r   Zfoo)ÚindexÚnamer   r   )Úlevelr   r   r   )r   r   r   r    r!   r/   )r$   r   r   r   r   r%   r&   r'   Z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||ƒf ddi|¤Ž W d   ƒ n1 sp0    Y  d S )Nr   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_unsupportedB   s
    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||ƒf d
di|¤Ž W d   ƒ n1 sp0    Y  d S )Nr   r   r   r   r   r   )Zaxiszaxis=1r5   r   r   r7   r:   r,   r,   r-   Útest_axis_1_unsupportedI   s
    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 sV0    Y  | d	d
i¡}t ||¡ d S )Nr   r   r   r   r   r   zcompute.use_numbaTr   Úfirst)r   r   r   r   Z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   r4   r;   r<   r?   r,   r,   r,   r-   r
      s   r
   )r8   Zpandas.compatr   Zpandasr   r   r   Zpandas._testingZ_testingr!   Zpandas.util.versionr   ÚmarkZ
single_cpuZ
pytestmarkZimportorskipr   ÚappendZskipifÚ__version__Úfilterwarningsr
   r,   r,   r,   r-   Ú<module>   s   


þÿ
