1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import numpy as np
- import pytest
- import pandas as pd
- from pandas.tests.extension import base
- import pandas.util.testing as tm
- pytest.importorskip('pyarrow', minversion="0.10.0")
- from .bool import ArrowBoolArray, ArrowBoolDtype # isort:skip
- @pytest.fixture
- def dtype():
- return ArrowBoolDtype()
- @pytest.fixture
- def data():
- return ArrowBoolArray.from_scalars(np.random.randint(0, 2, size=100,
- dtype=bool))
- @pytest.fixture
- def data_missing():
- return ArrowBoolArray.from_scalars([None, True])
- class BaseArrowTests(object):
- pass
- class TestDtype(BaseArrowTests, base.BaseDtypeTests):
- def test_array_type_with_arg(self, data, dtype):
- pytest.skip("GH-22666")
- class TestInterface(BaseArrowTests, base.BaseInterfaceTests):
- def test_repr(self, data):
- raise pytest.skip("TODO")
- class TestConstructors(BaseArrowTests, base.BaseConstructorsTests):
- def test_from_dtype(self, data):
- pytest.skip("GH-22666")
- # seems like some bug in isna on empty BoolArray returning floats.
- @pytest.mark.xfail(reason='bad is-na for empty data')
- def test_from_sequence_from_cls(self, data):
- super(TestConstructors, self).test_from_sequence_from_cls(data)
- class TestReduce(base.BaseNoReduceTests):
- def test_reduce_series_boolean(self):
- pass
- class TestReduceBoolean(base.BaseBooleanReduceTests):
- pass
- def test_is_bool_dtype(data):
- assert pd.api.types.is_bool_dtype(data)
- assert pd.core.common.is_bool_indexer(data)
- s = pd.Series(range(len(data)))
- result = s[data]
- expected = s[np.asarray(data)]
- tm.assert_series_equal(result, expected)
|