29 lines
924 B
Python
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)
|