Skip to content

Commit e51514b

Browse files
committed
restructure test to avoid duplication
1 parent 45bbcc4 commit e51514b

File tree

1 file changed

+51
-58
lines changed

1 file changed

+51
-58
lines changed

pandas/tests/resample/test_base.py

Lines changed: 51 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -269,77 +269,70 @@ def test_resample_quantile(series):
269269
tm.assert_series_equal(result, expected)
270270

271271

272-
@all_ts
273272
@pytest.mark.parametrize(
274-
"freq, result_name, result_data, result_index, result_freq",
273+
"_index_factory,_series_name,_index_start,_index_end", [DATE_RANGE, PERIOD_RANGE]
274+
)
275+
@pytest.mark.parametrize(
276+
"freq, result_dict",
275277
[
276278
(
277279
"D",
278-
"dti",
279-
[1.0] * 5 + [np.nan] * 5,
280-
["2005-01-{}".format(i) for i in range(1, 11)],
281-
"D",
282-
),
283-
(
284-
"D",
285-
"pi",
286-
[1.0] * 5 + [np.nan] * 5,
287-
["2005-01-{}".format(i) for i in range(1, 11)],
288-
"D",
289-
),
290-
(
291-
"D",
292-
"tdi",
293-
[1.0] * 5 + [np.nan] * 5,
294-
["{} days".format(i) for i in range(1, 11)],
295-
"D",
280+
{
281+
"dti": {
282+
"data": [1.0] * 5 + [np.nan] * 5,
283+
"index": DatetimeIndex(
284+
["2005-01-{}".format(i) for i in range(1, 11)], freq="D"
285+
),
286+
},
287+
"pi": {
288+
"data": [1.0] * 5 + [np.nan] * 5,
289+
"index": PeriodIndex(
290+
["2005-01-{}".format(i) for i in range(1, 11)], freq="D"
291+
),
292+
},
293+
},
296294
),
297295
(
298296
"W",
299-
"dti",
300-
[2.0, 3.0, np.nan],
301-
["2005-01-02", "2005-01-09", "2005-01-16"],
302-
"W-SUN",
297+
{
298+
"dti": {
299+
"data": [2.0, 3.0, np.nan],
300+
"index": DatetimeIndex(
301+
["2005-01-02", "2005-01-09", "2005-01-16"], freq="W-SUN"
302+
),
303+
},
304+
"pi": {
305+
"data": [2.0, 3.0, np.nan],
306+
"index": PeriodIndex(
307+
[
308+
"2004-12-27/2005-01-02",
309+
"2005-01-03/2005-01-09",
310+
"2005-01-10/2005-01-16",
311+
],
312+
freq="W-SUN",
313+
),
314+
},
315+
},
303316
),
304317
(
305-
"W",
306-
"pi",
307-
[2.0, 3.0, np.nan],
308-
["2004-12-27/2005-01-02", "2005-01-03/2005-01-09", "2005-01-10/2005-01-16"],
309-
"W-SUN",
318+
"M",
319+
{
320+
"dti": {
321+
"data": [5.0],
322+
"index": DatetimeIndex(["2005-01-31"], freq="M"),
323+
},
324+
"pi": {"data": [5.0], "index": PeriodIndex(["2005-01"], freq="M")},
325+
},
310326
),
311-
("W", "", "", "", ""),
312-
("M", "dti", [5.0], ["2005-01-31"], "M"),
313-
("M", "pi", [5.0], ["2005-01"], "M"),
314-
("M", "", "", "", ""),
315327
],
316328
)
317-
def test_resample_sum(
318-
series, freq, result_name, result_data, result_index, result_freq
319-
):
329+
def test_resample_sum(series, freq, result_dict):
320330
# GH 19974
321331
series[:5] = 1
322332
series[5:] = np.nan
333+
result = series.resample(freq).sum(min_count=1)
323334

324-
if isinstance(series.index, TimedeltaIndex) and freq != "D":
325-
msg = ".* is a non-fixed frequency"
326-
with pytest.raises(ValueError, match=msg):
327-
result = series.resample(freq).sum(min_count=1)
328-
329-
else:
330-
result = series.resample(freq).sum(min_count=1)
331-
332-
if isinstance(series.index, DatetimeIndex) and result_name == "dti":
333-
index = DatetimeIndex(result_index, freq=result_freq)
334-
expected = Series(result_data, index, name=result_name)
335-
tm.assert_series_equal(result, expected)
336-
337-
if isinstance(series.index, PeriodIndex) and result_name == "pi":
338-
index = PeriodIndex(result_index, freq=result_freq)
339-
expected = Series(result_data, index, name=result_name)
340-
tm.assert_series_equal(result, expected)
341-
342-
if isinstance(series.index, TimedeltaIndex) and result_name == "tdi":
343-
index = TimedeltaIndex(result_index, freq=result_freq)
344-
expected = Series(result_data, index, name=result_name)
345-
tm.assert_series_equal(result, expected)
335+
key = result.name
336+
index = result_dict[key]["index"]
337+
expected = Series(result_dict[key]["data"], index, name=key)
338+
tm.assert_series_equal(result, expected)

0 commit comments

Comments
 (0)