o
    da	                     @   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   sT   t ||}t |d|}|dkr| }| }n
||d}||d}t|| d S )Nfloat64countskipna)getattrastypetmassert_almost_equal)selfsop_namer   res_opexp_opresultexpected r   g/var/www/html/visualizacion-main/env/lib/python3.10/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   V   |}t |}d}tjt|d t|||d W d    d S 1 s$w   Y  d S NzV[Cc]annot perform|Categorical is not ordered for operation|does not support reduction|)matchr   pdSeriespytestraises	TypeErrorr   )r   dataall_numeric_reductionsr   r   r   msgr   r   r   test_reduce_series_numeric      
"z,BaseNoReduceTests.test_reduce_series_numericc                 C   r   r   r   )r   r$   all_boolean_reductionsr   r   r   r&   r   r   r   test_reduce_series_boolean,   r(   z,BaseNoReduceTests.test_reduce_series_booleanN)	r   r   r   r   r!   markparametrizer'   r*   r   r   r   r   r      s    
r   c                   @   &   e Zd Zejdddgdd ZdS )BaseNumericReduceTestsr   TFc                 C   sV   |}t |}t  tdt | ||| W d    d S 1 s$w   Y  d S )Nignore)r   r    warningscatch_warningssimplefilterRuntimeWarningr   )r   r$   r%   r   r   r   r   r   r   test_reduce_series;   s   

"z)BaseNumericReduceTests.test_reduce_seriesNr   r   r   r!   r+   r,   r4   r   r   r   r   r.   :       r.   c                   @   r-   )BaseBooleanReduceTestsr   TFc                 C   s    |}t |}| ||| d S )N)r   r    r   )r   r$   r)   r   r   r   r   r   r   r4   G   s   
z)BaseBooleanReduceTests.test_reduce_seriesNr5   r   r   r   r   r7   F   r6   r7   )r0   r!   pandasr   pandas._testing_testingr
    pandas.tests.extension.base.baser   r   r   r.   r7   r   r   r   r   <module>   s    