Skip to content

Commit 3fc7c4b

Browse files
committed
restructure test to avoid duplication
1 parent 75d747c commit 3fc7c4b

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
@@ -276,77 +276,70 @@ def test_resample_quantile(series):
276276
tm.assert_series_equal(result, expected)
277277

278278

279-
@all_ts
280279
@pytest.mark.parametrize(
281-
"freq, result_name, result_data, result_index, result_freq",
280+
"_index_factory,_series_name,_index_start,_index_end", [DATE_RANGE, PERIOD_RANGE]
281+
)
282+
@pytest.mark.parametrize(
283+
"freq, result_dict",
282284
[
283285
(
284286
"D",
285-
"dti",
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-
"pi",
293-
[1.0] * 5 + [np.nan] * 5,
294-
["2005-01-{}".format(i) for i in range(1, 11)],
295-
"D",
296-
),
297-
(
298-
"D",
299-
"tdi",
300-
[1.0] * 5 + [np.nan] * 5,
301-
["{} days".format(i) for i in range(1, 11)],
302-
"D",
287+
{
288+
"dti": {
289+
"data": [1.0] * 5 + [np.nan] * 5,
290+
"index": DatetimeIndex(
291+
["2005-01-{}".format(i) for i in range(1, 11)], freq="D"
292+
),
293+
},
294+
"pi": {
295+
"data": [1.0] * 5 + [np.nan] * 5,
296+
"index": PeriodIndex(
297+
["2005-01-{}".format(i) for i in range(1, 11)], freq="D"
298+
),
299+
},
300+
},
303301
),
304302
(
305303
"W",
306-
"dti",
307-
[2.0, 3.0, np.nan],
308-
["2005-01-02", "2005-01-09", "2005-01-16"],
309-
"W-SUN",
304+
{
305+
"dti": {
306+
"data": [2.0, 3.0, np.nan],
307+
"index": DatetimeIndex(
308+
["2005-01-02", "2005-01-09", "2005-01-16"], freq="W-SUN"
309+
),
310+
},
311+
"pi": {
312+
"data": [2.0, 3.0, np.nan],
313+
"index": PeriodIndex(
314+
[
315+
"2004-12-27/2005-01-02",
316+
"2005-01-03/2005-01-09",
317+
"2005-01-10/2005-01-16",
318+
],
319+
freq="W-SUN",
320+
),
321+
},
322+
},
310323
),
311324
(
312-
"W",
313-
"pi",
314-
[2.0, 3.0, np.nan],
315-
["2004-12-27/2005-01-02", "2005-01-03/2005-01-09", "2005-01-10/2005-01-16"],
316-
"W-SUN",
325+
"M",
326+
{
327+
"dti": {
328+
"data": [5.0],
329+
"index": DatetimeIndex(["2005-01-31"], freq="M"),
330+
},
331+
"pi": {"data": [5.0], "index": PeriodIndex(["2005-01"], freq="M")},
332+
},
317333
),
318-
("W", "", "", "", ""),
319-
("M", "dti", [5.0], ["2005-01-31"], "M"),
320-
("M", "pi", [5.0], ["2005-01"], "M"),
321-
("M", "", "", "", ""),
322334
],
323335
)
324-
def test_resample_sum(
325-
series, freq, result_name, result_data, result_index, result_freq
326-
):
336+
def test_resample_sum(series, freq, result_dict):
327337
# GH 19974
328338
series[:5] = 1
329339
series[5:] = np.nan
340+
result = series.resample(freq).sum(min_count=1)
330341

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

0 commit comments

Comments
 (0)