Skip to content

Commit f04d913

Browse files
fixed mypy errors in mypy-pandas.tests.extension.decimal.test_decimal (#31730)
1 parent 8cfcf65 commit f04d913

File tree

3 files changed

+21
-10
lines changed

3 files changed

+21
-10
lines changed

pandas/tests/extension/base/base.py

+16-4
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,20 @@
22

33

44
class BaseExtensionTests:
5+
# classmethod and different signature is needed
6+
# to make inheritance compliant with mypy
7+
@classmethod
8+
def assert_equal(cls, left, right, **kwargs):
9+
return tm.assert_equal(left, right, **kwargs)
510

6-
assert_equal = staticmethod(tm.assert_equal)
7-
assert_series_equal = staticmethod(tm.assert_series_equal)
8-
assert_frame_equal = staticmethod(tm.assert_frame_equal)
9-
assert_extension_array_equal = staticmethod(tm.assert_extension_array_equal)
11+
@classmethod
12+
def assert_series_equal(cls, left, right, *args, **kwargs):
13+
return tm.assert_series_equal(left, right, *args, **kwargs)
14+
15+
@classmethod
16+
def assert_frame_equal(cls, left, right, *args, **kwargs):
17+
return tm.assert_frame_equal(left, right, *args, **kwargs)
18+
19+
@classmethod
20+
def assert_extension_array_equal(cls, left, right, *args, **kwargs):
21+
return tm.assert_extension_array_equal(left, right, *args, **kwargs)

pandas/tests/extension/decimal/test_decimal.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,8 @@ def data_for_grouping():
6666

6767

6868
class BaseDecimal:
69-
def assert_series_equal(self, left, right, *args, **kwargs):
69+
@classmethod
70+
def assert_series_equal(cls, left, right, *args, **kwargs):
7071
def convert(x):
7172
# need to convert array([Decimal(NaN)], dtype='object') to np.NaN
7273
# because Series[object].isnan doesn't recognize decimal(NaN) as
@@ -88,7 +89,8 @@ def convert(x):
8889
tm.assert_series_equal(left_na, right_na)
8990
return tm.assert_series_equal(left[~left_na], right[~right_na], *args, **kwargs)
9091

91-
def assert_frame_equal(self, left, right, *args, **kwargs):
92+
@classmethod
93+
def assert_frame_equal(cls, left, right, *args, **kwargs):
9294
# TODO(EA): select_dtypes
9395
tm.assert_index_equal(
9496
left.columns,
@@ -103,7 +105,7 @@ def assert_frame_equal(self, left, right, *args, **kwargs):
103105
decimals = (left.dtypes == "decimal").index
104106

105107
for col in decimals:
106-
self.assert_series_equal(left[col], right[col], *args, **kwargs)
108+
cls.assert_series_equal(left[col], right[col], *args, **kwargs)
107109

108110
left = left.drop(columns=decimals)
109111
right = right.drop(columns=decimals)

setup.cfg

-3
Original file line numberDiff line numberDiff line change
@@ -135,9 +135,6 @@ ignore_errors=True
135135
[mypy-pandas.tests.arithmetic.test_datetime64]
136136
ignore_errors=True
137137

138-
[mypy-pandas.tests.extension.decimal.test_decimal]
139-
ignore_errors=True
140-
141138
[mypy-pandas.tests.extension.json.test_json]
142139
ignore_errors=True
143140

0 commit comments

Comments
 (0)