Skip to content

Commit 7f97e27

Browse files
authored
TST: Parameterize tests (pandas-dev#46108)
* TST: Parameterize tests * Add TODO
1 parent af8ad6d commit 7f97e27

File tree

4 files changed

+53
-41
lines changed

4 files changed

+53
-41
lines changed

pandas/tests/frame/methods/test_replace.py

+1
Original file line numberDiff line numberDiff line change
@@ -891,6 +891,7 @@ def test_replace_input_formats_scalar(self):
891891
tm.assert_frame_equal(result, expected)
892892

893893
def test_replace_limit(self):
894+
# TODO
894895
pass
895896

896897
def test_replace_dict_no_regex(self):

pandas/tests/frame/methods/test_reset_index.py

+26-23
Original file line numberDiff line numberDiff line change
@@ -201,39 +201,42 @@ def test_reset_index_name(self):
201201
assert return_value is None
202202
assert df.index.name is None
203203

204-
def test_reset_index_level(self):
204+
@pytest.mark.parametrize("levels", [["A", "B"], [0, 1]])
205+
def test_reset_index_level(self, levels):
205206
df = DataFrame([[1, 2, 3, 4], [5, 6, 7, 8]], columns=["A", "B", "C", "D"])
206207

207-
for levels in ["A", "B"], [0, 1]:
208-
# With MultiIndex
209-
result = df.set_index(["A", "B"]).reset_index(level=levels[0])
210-
tm.assert_frame_equal(result, df.set_index("B"))
208+
# With MultiIndex
209+
result = df.set_index(["A", "B"]).reset_index(level=levels[0])
210+
tm.assert_frame_equal(result, df.set_index("B"))
211211

212-
result = df.set_index(["A", "B"]).reset_index(level=levels[:1])
213-
tm.assert_frame_equal(result, df.set_index("B"))
212+
result = df.set_index(["A", "B"]).reset_index(level=levels[:1])
213+
tm.assert_frame_equal(result, df.set_index("B"))
214214

215-
result = df.set_index(["A", "B"]).reset_index(level=levels)
216-
tm.assert_frame_equal(result, df)
215+
result = df.set_index(["A", "B"]).reset_index(level=levels)
216+
tm.assert_frame_equal(result, df)
217217

218-
result = df.set_index(["A", "B"]).reset_index(level=levels, drop=True)
219-
tm.assert_frame_equal(result, df[["C", "D"]])
218+
result = df.set_index(["A", "B"]).reset_index(level=levels, drop=True)
219+
tm.assert_frame_equal(result, df[["C", "D"]])
220220

221-
# With single-level Index (GH 16263)
222-
result = df.set_index("A").reset_index(level=levels[0])
223-
tm.assert_frame_equal(result, df)
221+
# With single-level Index (GH 16263)
222+
result = df.set_index("A").reset_index(level=levels[0])
223+
tm.assert_frame_equal(result, df)
224224

225-
result = df.set_index("A").reset_index(level=levels[:1])
226-
tm.assert_frame_equal(result, df)
225+
result = df.set_index("A").reset_index(level=levels[:1])
226+
tm.assert_frame_equal(result, df)
227227

228-
result = df.set_index(["A"]).reset_index(level=levels[0], drop=True)
229-
tm.assert_frame_equal(result, df[["B", "C", "D"]])
228+
result = df.set_index(["A"]).reset_index(level=levels[0], drop=True)
229+
tm.assert_frame_equal(result, df[["B", "C", "D"]])
230230

231+
@pytest.mark.parametrize("idx_lev", [["A", "B"], ["A"]])
232+
def test_reset_index_level_missing(self, idx_lev):
231233
# Missing levels - for both MultiIndex and single-level Index:
232-
for idx_lev in ["A", "B"], ["A"]:
233-
with pytest.raises(KeyError, match=r"(L|l)evel \(?E\)?"):
234-
df.set_index(idx_lev).reset_index(level=["A", "E"])
235-
with pytest.raises(IndexError, match="Too many levels"):
236-
df.set_index(idx_lev).reset_index(level=[0, 1, 2])
234+
df = DataFrame([[1, 2, 3, 4], [5, 6, 7, 8]], columns=["A", "B", "C", "D"])
235+
236+
with pytest.raises(KeyError, match=r"(L|l)evel \(?E\)?"):
237+
df.set_index(idx_lev).reset_index(level=["A", "E"])
238+
with pytest.raises(IndexError, match="Too many levels"):
239+
df.set_index(idx_lev).reset_index(level=[0, 1, 2])
237240

238241
def test_reset_index_right_dtype(self):
239242
time = np.arange(0.0, 10, np.sqrt(2) / 2)

pandas/tests/frame/methods/test_shift.py

+17-13
Original file line numberDiff line numberDiff line change
@@ -92,17 +92,17 @@ def test_shift_int(self, datetime_frame, frame_or_series):
9292
expected = ts.astype(float).shift(1)
9393
tm.assert_equal(shifted, expected)
9494

95-
def test_shift_32bit_take(self, frame_or_series):
95+
@pytest.mark.parametrize("dtype", ["int32", "int64"])
96+
def test_shift_32bit_take(self, frame_or_series, dtype):
9697
# 32-bit taking
9798
# GH#8129
9899
index = date_range("2000-01-01", periods=5)
99-
for dtype in ["int32", "int64"]:
100-
arr = np.arange(5, dtype=dtype)
101-
s1 = frame_or_series(arr, index=index)
102-
p = arr[1]
103-
result = s1.shift(periods=p)
104-
expected = frame_or_series([np.nan, 0, 1, 2, 3], index=index)
105-
tm.assert_equal(result, expected)
100+
arr = np.arange(5, dtype=dtype)
101+
s1 = frame_or_series(arr, index=index)
102+
p = arr[1]
103+
result = s1.shift(periods=p)
104+
expected = frame_or_series([np.nan, 0, 1, 2, 3], index=index)
105+
tm.assert_equal(result, expected)
106106

107107
@pytest.mark.parametrize("periods", [1, 2, 3, 4])
108108
def test_shift_preserve_freqstr(self, periods, frame_or_series):
@@ -141,11 +141,15 @@ def test_shift_dst(self, frame_or_series):
141141
tm.assert_equal(res, exp)
142142
assert tm.get_dtype(res) == "datetime64[ns, US/Eastern]"
143143

144-
for ex in [10, -10, 20, -20]:
145-
res = obj.shift(ex)
146-
exp = frame_or_series([NaT] * 10, dtype="datetime64[ns, US/Eastern]")
147-
tm.assert_equal(res, exp)
148-
assert tm.get_dtype(res) == "datetime64[ns, US/Eastern]"
144+
@pytest.mark.parametrize("ex", [10, -10, 20, -20])
145+
def test_shift_dst_beyond(self, frame_or_series, ex):
146+
# GH#13926
147+
dates = date_range("2016-11-06", freq="H", periods=10, tz="US/Eastern")
148+
obj = frame_or_series(dates)
149+
res = obj.shift(ex)
150+
exp = frame_or_series([NaT] * 10, dtype="datetime64[ns, US/Eastern]")
151+
tm.assert_equal(res, exp)
152+
assert tm.get_dtype(res) == "datetime64[ns, US/Eastern]"
149153

150154
def test_shift_by_zero(self, datetime_frame, frame_or_series):
151155
# shift by 0

pandas/tests/frame/test_api.py

+9-5
Original file line numberDiff line numberDiff line change
@@ -194,15 +194,19 @@ def test_empty_nonzero(self):
194194
df = DataFrame(index=["a", "b"], columns=["c", "d"]).dropna()
195195
assert df.empty
196196
assert df.T.empty
197-
empty_frames = [
197+
198+
@pytest.mark.parametrize(
199+
"df",
200+
[
198201
DataFrame(),
199202
DataFrame(index=[1]),
200203
DataFrame(columns=[1]),
201204
DataFrame({1: []}),
202-
]
203-
for df in empty_frames:
204-
assert df.empty
205-
assert df.T.empty
205+
],
206+
)
207+
def test_empty_like(self, df):
208+
assert df.empty
209+
assert df.T.empty
206210

207211
def test_with_datetimelikes(self):
208212

0 commit comments

Comments
 (0)