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"