tradecipher-blockchain-back.../tests/test_contracts.py

29 lines
924 B
Python

import json
from tradecipher_blockchain_backed_privacy_pr.contracts import LocalTrade, SharedSignals, PlanDelta
def test_local_trade_json_roundtrip():
lt = LocalTrade(
trade_id="T1",
product_id="P-XYZ",
venue="VenueA",
price=123.45,
size=10,
side="buy",
timestamp=1620000000.0,
signer_id="Signer1",
signature="sig123",
)
j = lt.to_json()
# Ensure it's valid JSON and contains expected fields
obj = json.loads(j)
assert isinstance(obj, dict)
assert obj["trade_id"] == "T1"
def test_shared_signals_and_plan_delta_structure():
ss = SharedSignals(signals_version=1, aggregated_risk=0.5, margin_impact=0.1, liquidity_metric=0.9)
pd = PlanDelta(delta_version=1, timestamp=1620000001.0, allocations={"T1": 0.5}, cryptographic_tag="tag")
assert isinstance(ss.to_json(), str)
assert isinstance(pd.to_json(), str)