exoroute-cross-venue-order-.../tests/test_dsl.py

28 lines
998 B
Python

import pytest
from exoroute.dsl import LocalProblem, SharedVariables, PlanDelta, DualVariables, PrivacyBudget, AuditLog, GraphOfContractsRegistry, GraphOfContractsRegistryEntry
def test_local_problem_basic():
lp = LocalProblem(id="lp1", domain="equities", assets=["AAPL"], objective="minimise_cost")
assert lp.id == "lp1"
assert lp.domain == "equities"
assert lp.assets == ["AAPL"]
def test_shared_variables_basic():
sv = SharedVariables(forecasts={"AAPL": 150.0}, version=1)
assert sv.forecasts["AAPL"] == 150.0
assert sv.version == 1
def test_plan_delta_basic():
pd = PlanDelta(delta={"route": "VS1"}, timestamp=1234567.0, author="tester", contract_id="lp1")
assert pd.contract_id == "lp1"
def test_registry_entry_and_registry():
ent = GraphOfContractsRegistryEntry(adapter_id="fix-feed", supported_domains=["equities"], contract_version="v0.1")
reg = GraphOfContractsRegistry(entries=[ent])
assert reg.entries[0].adapter_id == "fix-feed"