1"""
2Base test suite for extension arrays.
3
4These tests are intended for third-party libraries to subclass to validate
5that their extension arrays and dtypes satisfy the interface. Moving or
6renaming the tests should not be done lightly.
7
8Libraries are expected to implement a few pytest fixtures to provide data
9for the tests. The fixtures may be located in either
10
11* The same module as your test class.
12* A ``conftest.py`` in the same directory as your test class.
13
14The full list of fixtures may be found in the ``conftest.py`` next to this
15file.
16
17.. code-block:: python
18
19   import pytest
20   from pandas.tests.extension.base import BaseDtypeTests
21
22
23   @pytest.fixture
24   def dtype():
25       return MyDtype()
26
27
28   class TestMyDtype(BaseDtypeTests):
29       pass
30
31
32Your class ``TestDtype`` will inherit all the tests defined on
33``BaseDtypeTests``. pytest's fixture discover will supply your ``dtype``
34wherever the test requires it. You're free to implement additional tests.
35
36All the tests in these modules use ``self.assert_frame_equal`` or
37``self.assert_series_equal`` for dataframe or series comparisons. By default,
38they use the usual ``pandas.testing.assert_frame_equal`` and
39``pandas.testing.assert_series_equal``. You can override the checks used
40by defining the staticmethods ``assert_frame_equal`` and
41``assert_series_equal`` on your base test class.
42
43"""
44from .casting import BaseCastingTests  # noqa
45from .constructors import BaseConstructorsTests  # noqa
46from .dtype import BaseDtypeTests  # noqa
47from .getitem import BaseGetitemTests  # noqa
48from .groupby import BaseGroupbyTests  # noqa
49from .interface import BaseInterfaceTests  # noqa
50from .io import BaseParsingTests  # noqa
51from .methods import BaseMethodsTests  # noqa
52from .missing import BaseMissingTests  # noqa
53from .ops import (  # noqa
54    BaseArithmeticOpsTests,
55    BaseComparisonOpsTests,
56    BaseOpsUtil,
57    BaseUnaryOpsTests,
58)
59from .printing import BasePrintingTests  # noqa
60from .reduce import (  # noqa
61    BaseBooleanReduceTests,
62    BaseNoReduceTests,
63    BaseNumericReduceTests,
64)
65from .reshaping import BaseReshapingTests  # noqa
66from .setitem import BaseSetitemTests  # noqa
67