a
    oÝEb¾  ã                   @   st   d dl Z d dlZd dlZd dlmZ d dlmZ G dd„ deƒZ	G dd„ de	ƒZ
G dd„ de	ƒZG d	d
„ d
e	ƒZdS )é    N)ÚBaseExtensionTestsc                   @   s   e Zd ZdZdd„ ZdS )ÚBaseReduceTestszg
    Reduction specific tests. Generally these only
    make sense for numeric/boolean operations.
    c                 C   s6   t ||ƒ|d�}t | d¡|ƒ|d�}t ||¡ d S )N©ÚskipnaZfloat64)ÚgetattrZastypeÚtmZassert_almost_equal)ÚselfÚsÚop_namer   ÚresultÚexpected© r   úb/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/pandas/tests/extension/base/reduce.pyÚcheck_reduce   s    zBaseReduceTests.check_reduceN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   
   s   r   c                   @   sD   e Zd ZdZej dddg¡dd„ ƒZej dddg¡dd„ ƒZd	S )
ÚBaseNoReduceTestszwe don't define any reductionsr   TFc                 C   sT   |}t  |¡}d}tjt|d��  t||ƒ|d� W d   ƒ n1 sF0    Y  d S ©NzV[Cc]annot perform|Categorical is not ordered for operation|does not support reduction|)Úmatchr   ©ÚpdÚSeriesÚpytestZraisesÚ	TypeErrorr   )r   ÚdataÚall_numeric_reductionsr   r
   r	   Úmsgr   r   r   Útest_reduce_series_numeric   s    
ÿz,BaseNoReduceTests.test_reduce_series_numericc                 C   sT   |}t  |¡}d}tjt|d��  t||ƒ|d� W d   ƒ n1 sF0    Y  d S r   r   )r   r   Úall_boolean_reductionsr   r
   r	   r   r   r   r   Útest_reduce_series_boolean&   s    
ÿz,BaseNoReduceTests.test_reduce_series_booleanN)	r   r   r   r   r   ÚmarkÚparametrizer   r!   r   r   r   r   r      s
   
r   c                   @   s&   e Zd Zej dddg¡dd„ ƒZdS )ÚBaseNumericReduceTestsr   TFc                 C   sT   |}t  |¡}t ¡ �* t dt¡ |  |||¡ W d   ƒ n1 sF0    Y  d S )NÚignore)r   r   ÚwarningsÚcatch_warningsÚsimplefilterÚRuntimeWarningr   )r   r   r   r   r
   r	   r   r   r   Útest_reduce_series5   s
    

z)BaseNumericReduceTests.test_reduce_seriesN©r   r   r   r   r"   r#   r*   r   r   r   r   r$   4   s   r$   c                   @   s&   e Zd Zej dddg¡dd„ ƒZdS )ÚBaseBooleanReduceTestsr   TFc                 C   s    |}t  |¡}|  |||¡ d S )N)r   r   r   )r   r   r    r   r
   r	   r   r   r   r*   A   s    
z)BaseBooleanReduceTests.test_reduce_seriesNr+   r   r   r   r   r,   @   s   r,   )r&   r   Zpandasr   Zpandas._testingZ_testingr   Z pandas.tests.extension.base.baser   r   r   r$   r,   r   r   r   r   Ú<module>   s   