def test_apply_ramp_raises_on_edge_cases(): with pytest.raises(ValueError): x = ts.generate_series(10) apply_ramp(x, Window(0, 0)) with pytest.raises(ValueError): x = ts.generate_series(10) apply_ramp(x, Window(-1, 0)) with pytest.raises(ValueError): x = ts.generate_series(10) apply_ramp(x, Window(2, -1)) with pytest.raises(ValueError): x = ts.generate_series(10) apply_ramp(x, Window(2, 11))
def test_normalize_window_raises_error_on_window_of_size_zero(): with pytest.raises(ValueError): x = ts.generate_series(10) normalize_window(x, 0) with pytest.raises(ValueError): x = ts.generate_series(10) normalize_window(x, Window(0, 0))
def test_apply_ramp_dateoffset(): x = pd.Series(range(10), index=pd.bdate_range('2020-02-17', freq='b', periods=10)) y = apply_ramp(x, Window(pd.DateOffset(weeks=1), pd.DateOffset(days=1))) assert len(y) == 9
def test_apply_ramp_with_window_greater_than_series_length(): x = ts.generate_series(10) y = apply_ramp(x, Window(11, 2)) assert len(y) == 0
def test_apply_ramp(): x = ts.generate_series(10) y = apply_ramp(x, Window(2, 2)) assert len(y) == 8
def test_normalize_window_str(): x = ts.generate_series(10) w = normalize_window(x, Window('1w', '2d')) assert w.w == pd.DateOffset(weeks=1) assert w.r == pd.DateOffset(days=2)
def test_normalize_window_handles_ramp_of_size_zero(): x = ts.generate_series(10) w = normalize_window(x, Window(2, 0)) assert w.w == 2 assert w.r == 0
def test_normalize_window_handles_ramp_greater_than_series_length(): with pytest.raises(ValueError): x = ts.generate_series(10) normalize_window(x, Window(2, 11))
def test_normalize_window_handles_window_with_no_size(): x = ts.generate_series(10) w = normalize_window(x, Window(None, 2)) assert w.w == 10 assert w.r == 2
def test_normalize_window_handles_window_with_no_ramp(): x = ts.generate_series(10) w = normalize_window(x, Window(2, None)) assert w.w == 2 assert w.r == 2