28 lines
998 B
Python
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"
|