aoc-2022/venv/Lib/site-packages/pandas/tests/extension/test_extension.py

41 lines
949 B
Python

"""
Tests for behavior if an author does *not* implement EA methods.
"""
import numpy as np
import pytest
import pandas._testing as tm
from pandas.core.arrays import ExtensionArray
class MyEA(ExtensionArray):
def __init__(self, values) -> None:
self._values = values
@pytest.fixture
def data():
arr = np.arange(10)
return MyEA(arr)
class TestExtensionArray:
def test_errors(self, data, all_arithmetic_operators):
# invalid ops
op_name = all_arithmetic_operators
with pytest.raises(AttributeError):
getattr(data, op_name)
def test_depr_na_sentinel():
# GH#46910
msg = "The `na_sentinel` argument of `MyEA.factorize` is deprecated"
with tm.assert_produces_warning(DeprecationWarning, match=msg):
class MyEA(ExtensionArray):
def factorize(self, na_sentinel=-1):
pass
with tm.assert_produces_warning(None):
MyEA()