feat(key-monitor): add program trigger entry across four exchanges
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
"""触价开仓关键位监控单元测试。"""
|
||||
from trigger_entry_key_monitor_lib import (
|
||||
TRIGGER_ENTRY_MONITOR_TYPE,
|
||||
TRIGGER_ENTRY_VALIDITY_HOURS,
|
||||
check_trigger_entry_intent_limit,
|
||||
is_trigger_entry_key_monitor_type,
|
||||
trigger_entry_invalidate_by_tp,
|
||||
trigger_entry_reached,
|
||||
validate_trigger_entry_geometry,
|
||||
)
|
||||
|
||||
|
||||
class _FakeConn:
|
||||
def execute(self, sql, params=()):
|
||||
class R:
|
||||
def fetchone(self_inner):
|
||||
return (params[1] == "2026-06-07" and 2,) # 2 pending
|
||||
|
||||
return R()
|
||||
|
||||
|
||||
def test_trigger_entry_reached_long():
|
||||
assert trigger_entry_reached("long", 2049.0, 2050.0) is True
|
||||
assert trigger_entry_reached("long", 2051.0, 2050.0) is False
|
||||
|
||||
|
||||
def test_trigger_entry_invalidate_long():
|
||||
assert trigger_entry_invalidate_by_tp("long", 2100.0, 2100.0) is True
|
||||
assert trigger_entry_invalidate_by_tp("long", 2099.0, 2100.0) is False
|
||||
|
||||
|
||||
def test_validate_geometry_long():
|
||||
assert validate_trigger_entry_geometry("long", 2050, 2000, 2100, 2090) is None
|
||||
assert "止损" in (validate_trigger_entry_geometry("long", 2050, 2100, 2000) or "")
|
||||
|
||||
|
||||
def test_intent_limit():
|
||||
ok, msg = check_trigger_entry_intent_limit(_FakeConn(), "2026-06-07", 2, 3)
|
||||
assert ok is False
|
||||
assert "意图" in msg
|
||||
|
||||
|
||||
def test_type_name():
|
||||
assert is_trigger_entry_key_monitor_type(TRIGGER_ENTRY_MONITOR_TYPE)
|
||||
assert TRIGGER_ENTRY_VALIDITY_HOURS == 24
|
||||
Reference in New Issue
Block a user