Skip to content

Commit 2019b7c

Browse files
authored
TST: Move remaining ewm tests to window/ (#44161)
1 parent 3df6aac commit 2019b7c

File tree

2 files changed

+57
-64
lines changed

2 files changed

+57
-64
lines changed

pandas/tests/window/moments/test_moments_ewm.py

Lines changed: 0 additions & 64 deletions
This file was deleted.

pandas/tests/window/test_ewm.py

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -600,3 +600,60 @@ def test_different_input_array_raise_exception(name):
600600
# exception raised is Exception
601601
with pytest.raises(ValueError, match=msg):
602602
getattr(A.ewm(com=20, min_periods=5), name)(np.random.randn(50))
603+
604+
605+
@pytest.mark.parametrize("name", ["var", "std", "mean"])
606+
def test_ewma_series(series, name):
607+
series_result = getattr(series.ewm(com=10), name)()
608+
assert isinstance(series_result, Series)
609+
610+
611+
@pytest.mark.parametrize("name", ["var", "std", "mean"])
612+
def test_ewma_frame(frame, name):
613+
frame_result = getattr(frame.ewm(com=10), name)()
614+
assert isinstance(frame_result, DataFrame)
615+
616+
617+
def test_ewma_span_com_args(series):
618+
A = series.ewm(com=9.5).mean()
619+
B = series.ewm(span=20).mean()
620+
tm.assert_almost_equal(A, B)
621+
msg = "comass, span, halflife, and alpha are mutually exclusive"
622+
with pytest.raises(ValueError, match=msg):
623+
series.ewm(com=9.5, span=20)
624+
625+
msg = "Must pass one of comass, span, halflife, or alpha"
626+
with pytest.raises(ValueError, match=msg):
627+
series.ewm().mean()
628+
629+
630+
def test_ewma_halflife_arg(series):
631+
A = series.ewm(com=13.932726172912965).mean()
632+
B = series.ewm(halflife=10.0).mean()
633+
tm.assert_almost_equal(A, B)
634+
msg = "comass, span, halflife, and alpha are mutually exclusive"
635+
with pytest.raises(ValueError, match=msg):
636+
series.ewm(span=20, halflife=50)
637+
with pytest.raises(ValueError, match=msg):
638+
series.ewm(com=9.5, halflife=50)
639+
with pytest.raises(ValueError, match=msg):
640+
series.ewm(com=9.5, span=20, halflife=50)
641+
msg = "Must pass one of comass, span, halflife, or alpha"
642+
with pytest.raises(ValueError, match=msg):
643+
series.ewm()
644+
645+
646+
def test_ewm_alpha_arg(series):
647+
# GH 10789
648+
s = series
649+
msg = "Must pass one of comass, span, halflife, or alpha"
650+
with pytest.raises(ValueError, match=msg):
651+
s.ewm()
652+
653+
msg = "comass, span, halflife, and alpha are mutually exclusive"
654+
with pytest.raises(ValueError, match=msg):
655+
s.ewm(com=10.0, alpha=0.5)
656+
with pytest.raises(ValueError, match=msg):
657+
s.ewm(span=10.0, alpha=0.5)
658+
with pytest.raises(ValueError, match=msg):
659+
s.ewm(halflife=10.0, alpha=0.5)

0 commit comments

Comments
 (0)