signalcanvas-graph-based-ma.../tests/test_delta_sync_integration.py

28 lines
873 B
Python

from signalcanvas_graph_based_market_signal_s.delta_sync import (
create_plan_delta,
reconcile_runs,
sign_delta,
)
def test_plan_delta_signature_and_reconciliation():
plan_id = "plan-xyz"
delta1 = {"AAPL": 1.0}
delta2 = {"AAPL": -0.25, "MSFT": 0.75}
version1 = 1
signer = "integration-signer"
# Create two deltas with signatures
pd1 = create_plan_delta(plan_id, delta1, version1, signer)
assert isinstance(pd1.signature, str) and len(pd1.signature) > 0
pd2 = create_plan_delta(plan_id, delta2, version1 + 1, signer)
assert isinstance(pd2.signature, str) and len(pd2.signature) > 0
# Reconcile as if two partitions produced deltas
merged = reconcile_runs([pd1], [pd2])
# AAPL: 1.0 + (-0.25) = 0.75
# MSFT: 0.75
assert abs(merged["AAPL"] - 0.75) < 1e-9
assert abs(merged["MSFT"] - 0.75) < 1e-9