Skip to content

Commit 6defab8

Browse files
committed
Parameterized tests
1 parent 47838f4 commit 6defab8

File tree

1 file changed

+20
-7
lines changed

1 file changed

+20
-7
lines changed

pandas/tests/window/test_rolling_skew_kurt.py

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -226,14 +226,27 @@ def test_rolling_kurt_eq_value_fperr(step):
226226
assert (a[a.index >= 9] == -3).all()
227227
assert a[a.index < 9].isna().all()
228228

229-
def test_rolling_kurt_outlier_influence(step):
229+
@pytest.mark.parametrize("test_len, window_size, modifiers",
230+
[([0, 10], 5, [[0,1e6], [3, -1e6]]),
231+
([0, 10], 5, [[0,1e-6], [3, 1e6]]),
232+
([10, 100], 20,[[40, -1e10], [59, -9e9]]),
233+
([105000, 110000], 200,[[105810, 0], [109900, -1e6], [109990, 0]])
234+
]
235+
)
236+
def test_rolling_kurt_outlier_influence(test_len, window_size, modifiers):
230237
# #61416 Extreme values causes kurtosis value to become incorrect
231-
test_len = 10 #! parameterize later
232-
window_size = 5 #! parameterize later
233-
test_series = Series(range(test_len))
234-
test_series[0] = 1e6
235-
test_series[3] = -1e6
236-
expected_series = (test_series[1:].reindex(range(test_len)))
238+
test_series = Series(range(test_len[0], test_len[1]), index = range(test_len[0], test_len[1]))
239+
for ind, number in modifiers:
240+
test_series = test_series.replace(ind, number)
241+
242+
#minimum elements needed for "window_size" number of kurts
243+
test_len_diff = test_len[1] - test_len[0]
244+
min_elements_needed = test_len_diff - 2*window_size + 1
245+
expected_series = (test_series[min_elements_needed:].reindex(range(test_len[0], test_len[1])))
246+
247+
print(test_series)
248+
print(expected_series)
249+
237250

238251
actual = test_series.rolling(window_size,min_periods=1).kurt()
239252
expected = expected_series.rolling(window_size,min_periods=1).kurt()

0 commit comments

Comments
 (0)