feat(stock): edge diff(신규/해제/재무장) 순수 함수
This commit is contained in:
18
stock/tests/test_trade_alerts_edge.py
Normal file
18
stock/tests/test_trade_alerts_edge.py
Normal file
@@ -0,0 +1,18 @@
|
||||
def test_diff_new_and_cleared_and_rearm():
|
||||
from app.trade_alerts import diff_firing
|
||||
reported = [{"ticker": "005930", "kind": "buy", "condition": "buy_breakout",
|
||||
"price": 71500, "detail": {}}]
|
||||
# 최초: prev 비어있음 → 신규
|
||||
d1 = diff_firing(reported, prev=set())
|
||||
assert [a["condition"] for a in d1["new"]] == ["buy_breakout"]
|
||||
assert d1["cleared"] == []
|
||||
# 유지: prev에 이미 있음 → 신규 없음
|
||||
prev = {("005930", "buy", "buy_breakout")}
|
||||
d2 = diff_firing(reported, prev=prev)
|
||||
assert d2["new"] == []
|
||||
# 해제: reported 비었고 prev에 있음 → cleared
|
||||
d3 = diff_firing([], prev=prev)
|
||||
assert d3["cleared"] == [("005930", "buy", "buy_breakout")]
|
||||
# 재무장 후 재발화: prev 다시 비면 신규
|
||||
d4 = diff_firing(reported, prev=set())
|
||||
assert len(d4["new"]) == 1
|
||||
Reference in New Issue
Block a user