o
    ҷh                     @   s.   d dl Z d dlZd dlmZ G dd dZdS )    Nc                   @   sZ   e Zd ZdZdejdedefddZdejdedefdd	Z	e
jdd
dgdd ZdS )BaseAccumulateTestszj
    Accumulation specific tests. Generally these only
    make sense for numeric/boolean operations.
    serop_namereturnc                 C   s   dS )NF )selfr   r   r   r   Y/var/www/html/venv/lib/python3.10/site-packages/pandas/tests/extension/base/accumulate.py_supports_accumulation   s   z*BaseAccumulateTests._supports_accumulationskipnac                 C   sn   | d}t|||d}|jt kr%|dkr%|r%td| d|  t|||d}tj||dd d S )Nfloat64r
   cumprodz4Float32 precision lead to large differences with op z and skipna=F)check_dtype)	astypegetattrdtypepdFloat32Dtypepytestskiptmassert_series_equal)r   r   r   r
   altresultexpectedr   r   r   check_accumulate   s   
z$BaseAccumulateTests.check_accumulateTFc                 C   sl   |}t |}| ||r| ||| d S tt t|||d W d    d S 1 s/w   Y  d S )Nr   )r   Seriesr	   r   r   raisesNotImplementedErrorr   )r   dataall_numeric_accumulationsr
   r   r   r   r   r   test_accumulate_series    s   
"z*BaseAccumulateTests.test_accumulate_seriesN)__name__
__module____qualname____doc__r   r   strboolr	   r   r   markparametrizer!   r   r   r   r   r      s    r   )r   pandasr   pandas._testing_testingr   r   r   r   r   r   <module>   s    