signalvault-verifiable-priv.../tests/test_core.py

31 lines
967 B
Python

import time
from signalvault_verifiable_privacy_preservin.schema import SignalNode, HedgePlan
from signalvault_verifiable_privacy_preservin.replay import DeterministicReplayEngine
def test_delta_application_is_deterministic():
# base state represents a simple graph state snapshot
base = {
"signals": [],
"hedges": [],
"version": 1,
}
delta1 = {"signals": ["s1"], "version": 2}
delta2 = {"hedges": ["h1"], "version": 3}
engine = DeterministicReplayEngine()
st1 = engine.apply_delta(base, delta1)
st2 = engine.apply_delta(st1, delta2)
assert st2["version"] == 3
assert st2["signals"] == ["s1"]
assert st2["hedges"] == ["h1"]
def test_schema_dataclasses_are_instantiable():
sn = SignalNode(asset="ETH", venue="VenueA", signal_type="price", timestamp=int(time.time()), quality=0.9)
hp = HedgePlan(id="hp1", delta={"action": "buy"})
assert sn.asset == "ETH"
assert hp.id == "hp1"