
    da	                         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e          Z	 G d de	          Z
 G d de	          Z G d	 d
e	          ZdS )    N)BaseExtensionTestsc                       e Zd ZdZd ZdS )BaseReduceTestszg
    Reduction specific tests. Generally these only
    make sense for numeric/boolean operations.
    c                     t          ||          }t          |                    d          |          }|dk    r |            } |            }n ||          } ||          }t          j        ||           d S )Nfloat64countskipna)getattrastypetmassert_almost_equal)selfsop_namer
   res_opexp_opresultexpecteds           ^/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/extension/base/reduce.pycheck_reducezBaseReduceTests.check_reduce   s    G$$),,g66gVXXFvxxHHV6***FvV,,,H
vx00000    N)__name__
__module____qualname____doc__r    r   r   r   r   
   s-         
	1 	1 	1 	1 	1r   r   c                       e Zd ZdZej                            dddg          d             Zej                            dddg          d             ZdS )BaseNoReduceTestszwe don't define any reductionsr
   TFc                     |}t          j        |          }d}t          j        t          |          5   t          ||          |           d d d            d S # 1 swxY 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   msgs          r   test_reduce_series_numericz,BaseNoReduceTests.test_reduce_series_numeric       (IdOO* 	
 ]9C000 	/ 	/GAwv....	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/   AA #A c                     |}t          j        |          }d}t          j        t          |          5   t          ||          |           d d d            d S # 1 swxY w Y   d S r!   r#   )r   r)   all_boolean_reductionsr
   r   r   r+   s          r   test_reduce_series_booleanz,BaseNoReduceTests.test_reduce_series_boolean,   r-   r.   N)	r   r   r   r   r&   markparametrizer,   r1   r   r   r   r   r      s|        (([Xe}55
/ 
/ 65
/ [Xe}55
/ 
/ 65
/ 
/ 
/r   r   c                   Z    e Zd Zej                            dddg          d             ZdS )BaseNumericReduceTestsr
   TFc                     |}t          j        |          }t          j                    5  t          j        dt
                     |                     |||           d d d            d S # 1 swxY w Y   d S )Nignore)r$   r%   warningscatch_warningssimplefilterRuntimeWarningr   )r   r)   r*   r
   r   r   s         r   test_reduce_seriesz)BaseNumericReduceTests.test_reduce_series;   s    (IdOO $&& 	2 	2!(N;;;a&111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2s   2A))A-0A-Nr   r   r   r&   r2   r3   r<   r   r   r   r5   r5   :   sD        [Xe}552 2 652 2 2r   r5   c                   Z    e Zd Zej                            dddg          d             ZdS )BaseBooleanReduceTestsr
   TFc                 `    |}t          j        |          }|                     |||           d S )N)r$   r%   r   )r   r)   r0   r
   r   r   s         r   r<   z)BaseBooleanReduceTests.test_reduce_seriesG   s2    (IdOO!Wf-----r   Nr=   r   r   r   r?   r?   F   sD        [Xe}55. . 65. . .r   r?   )r8   r&   pandasr$   pandas._testing_testingr    pandas.tests.extension.base.baser   r   r   r5   r?   r   r   r   <module>rE      s                ? ? ? ? ? ?1 1 1 1 1( 1 1 1$/ / / / / / / /<	2 	2 	2 	2 	2_ 	2 	2 	2. . . . ._ . . . . .r   