41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
from mcp_common.models import EventPriority, EventType, L2Entry
|
|
|
|
|
|
def test_l2_entry_minimal():
|
|
entry = L2Entry(
|
|
timestamp="2026-04-17T10:30:00Z",
|
|
setup="bull put spread ETH 1800/1750 14d",
|
|
tesi="IV alta post-CPI, attesa mean-reversion",
|
|
esito="aperto"
|
|
)
|
|
assert entry.scostamento_sigma is None
|
|
assert entry.tesi_check is None
|
|
|
|
|
|
def test_l2_entry_full():
|
|
entry = L2Entry(
|
|
timestamp="2026-04-17T10:30:00Z",
|
|
setup="bull put spread ETH 1800/1750 14d",
|
|
tesi="IV alta post-CPI",
|
|
tesi_check="ETH sopra 1820 per 24h con IV in calo",
|
|
invalidation="rottura 1800 con volume > 2x media",
|
|
esito="chiuso +12 USDC",
|
|
scostamento="nessuno",
|
|
scostamento_sigma=0.5,
|
|
lezione="supporto ha tenuto, timing ok",
|
|
sizing_note="size 80 USDC (ATR 1.3x media)",
|
|
)
|
|
assert entry.scostamento_sigma == 0.5
|
|
dump = entry.model_dump()
|
|
assert dump["lezione"] == "supporto ha tenuto, timing ok"
|
|
|
|
|
|
def test_event_priority_enum():
|
|
assert EventPriority.CRITICAL.value == "critical"
|
|
assert EventPriority.LOW < EventPriority.CRITICAL # ordering
|
|
|
|
|
|
def test_event_type_enum():
|
|
assert EventType.ALERT.value == "alert"
|
|
assert EventType.USER_INSTRUCTION.value == "user_instruction"
|