Skip to content

Commit 3570efd

Browse files
authored
TST: More pytest idioms in tests/generic (#45086)
1 parent a987901 commit 3570efd

File tree

5 files changed

+125
-141
lines changed

5 files changed

+125
-141
lines changed

pandas/_testing/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@
8282
assert_interval_array_equal,
8383
assert_is_sorted,
8484
assert_is_valid_plot_return_object,
85+
assert_metadata_equivalent,
8586
assert_numpy_array_equal,
8687
assert_period_array_equal,
8788
assert_series_equal,

pandas/_testing/asserters.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1470,3 +1470,15 @@ def assert_indexing_slices_equivalent(ser: Series, l_slc: slice, i_slc: slice):
14701470
if not ser.index.is_integer():
14711471
# For integer indices, .loc and plain getitem are position-based.
14721472
assert_series_equal(ser[l_slc], expected)
1473+
1474+
1475+
def assert_metadata_equivalent(left, right):
1476+
"""
1477+
Check that ._metadata attributes are equivalent.
1478+
"""
1479+
for attr in left._metadata:
1480+
val = getattr(left, attr, None)
1481+
if right is None:
1482+
assert val is None
1483+
else:
1484+
assert val == getattr(right, attr, None)

pandas/tests/generic/test_frame.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,9 @@
1212
date_range,
1313
)
1414
import pandas._testing as tm
15-
from pandas.tests.generic.test_generic import Generic
1615

1716

18-
class TestDataFrame(Generic):
19-
_typ = DataFrame
20-
_comparator = lambda self, x, y: tm.assert_frame_equal(x, y)
21-
17+
class TestDataFrame:
2218
@pytest.mark.parametrize("func", ["_set_axis_name", "rename_axis"])
2319
def test_set_axis_name(self, func):
2420
df = DataFrame([[1, 2], [3, 4]])
@@ -76,7 +72,7 @@ def test_metadata_propagation_indiv_groupby(self):
7672
}
7773
)
7874
result = df.groupby("A").sum()
79-
self.check_metadata(df, result)
75+
tm.assert_metadata_equivalent(df, result)
8076

8177
def test_metadata_propagation_indiv_resample(self):
8278
# resample
@@ -85,7 +81,7 @@ def test_metadata_propagation_indiv_resample(self):
8581
index=date_range("20130101", periods=1000, freq="s"),
8682
)
8783
result = df.resample("1T")
88-
self.check_metadata(df, result)
84+
tm.assert_metadata_equivalent(df, result)
8985

9086
def test_metadata_propagation_indiv(self, monkeypatch):
9187
# merging with override
@@ -148,7 +144,7 @@ def test_deepcopy_empty(self):
148144
empty_frame = DataFrame(data=[], index=[], columns=["A"])
149145
empty_frame_copy = deepcopy(empty_frame)
150146

151-
self._compare(empty_frame_copy, empty_frame)
147+
tm.assert_frame_equal(empty_frame_copy, empty_frame)
152148

153149

154150
# formerly in Generic but only test DataFrame

0 commit comments

Comments
 (0)