a
    Pf                     @   s&  d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	 ddl
mZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZmZmZmZ ddlm Z  ddl!m"Z" ddl#m$Z$ ddl%m&Z& G dd deeeeeeeeeeeeeee e"e$e&eZ'e(dddZ)dS )a  
Base test suite for extension arrays.

These tests are intended for third-party libraries to subclass to validate
that their extension arrays and dtypes satisfy the interface. Moving or
renaming the tests should not be done lightly.

Libraries are expected to implement a few pytest fixtures to provide data
for the tests. The fixtures may be located in either

* The same module as your test class.
* A ``conftest.py`` in the same directory as your test class.

The full list of fixtures may be found in the ``conftest.py`` next to this
file.

.. code-block:: python

   import pytest
   from pandas.tests.extension.base import BaseDtypeTests


   @pytest.fixture
   def dtype():
       return MyDtype()


   class TestMyDtype(BaseDtypeTests):
       pass


Your class ``TestDtype`` will inherit all the tests defined on
``BaseDtypeTests``. pytest's fixture discover will supply your ``dtype``
wherever the test requires it. You're free to implement additional tests.

    )BaseAccumulateTests)BaseCastingTests)BaseConstructorsTests)Dim2CompatTestsNDArrayBacked2DTests)BaseDtypeTests)BaseGetitemTests)BaseGroupbyTests)BaseIndexTests)BaseInterfaceTests)BaseParsingTests)BaseMethodsTests)BaseMissingTests)BaseArithmeticOpsTestsBaseComparisonOpsTestsBaseOpsUtilBaseUnaryOpsTests)BasePrintingTests)BaseReduceTests)BaseReshapingTests)BaseSetitemTestsc                   @   s   e Zd ZdS )ExtensionTestsN)__name__
__module____qualname__ r   r   ]/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pandas/tests/extension/base/__init__.pyr   E   s   r   )namec                 C   s   dd l }| dkr,|dt ddlm} |S | dkrP|dt ddlm} |S | dkrt|d	t dd
lm} |S td|  dd S )Nr   BaseNoReduceTestszBaseNoReduceTests is deprecated and will be removed in a future version. Use BaseReduceTests and override `_supports_reduction` instead.)r   BaseNumericReduceTestszBaseNumericReduceTests is deprecated and will be removed in a future version. Use BaseReduceTests and override `_supports_reduction` instead.)r   BaseBooleanReduceTestszBaseBooleanReduceTests is deprecated and will be removed in a future version. Use BaseReduceTests and override `_supports_reduction` instead.)r    z7module 'pandas.tests.extension.base' has no attribute '')warningswarnFutureWarning"pandas.tests.extension.base.reducer   r   r    AttributeError)r   r"   r   r   r    r   r   r   __getattr__]   s2    
r'   N)*__doc__Z&pandas.tests.extension.base.accumulater   Z#pandas.tests.extension.base.castingr   Z(pandas.tests.extension.base.constructorsr   Z pandas.tests.extension.base.dim2r   r   Z!pandas.tests.extension.base.dtyper   Z#pandas.tests.extension.base.getitemr   Z#pandas.tests.extension.base.groupbyr	   Z!pandas.tests.extension.base.indexr
   Z%pandas.tests.extension.base.interfacer   Zpandas.tests.extension.base.ior   Z#pandas.tests.extension.base.methodsr   Z#pandas.tests.extension.base.missingr   Zpandas.tests.extension.base.opsr   r   r   r   Z$pandas.tests.extension.base.printingr   r%   r   Z%pandas.tests.extension.base.reshapingr   Z#pandas.tests.extension.base.setitemr   r   strr'   r   r   r   r   <module>   sN   $
