23 lines
788 B
Python
23 lines
788 B
Python
import json
|
|
from idea98_algeiot_algebraic_orchestration.primitives import LocalDevicePlan, PlanDelta, DualVariables
|
|
|
|
|
|
def test_primitives_serialization_roundtrip():
|
|
plan = LocalDevicePlan(
|
|
id="ldp-1",
|
|
venue="downtown",
|
|
asset_ids=["lighting-1", "sensor-2"],
|
|
objective="minimize_energy",
|
|
latency_budget=1.0,
|
|
max_exposure=0.5,
|
|
)
|
|
s = json.dumps(plan.__dict__, default=lambda o: o.__dict__)
|
|
assert isinstance(s, str)
|
|
|
|
delta = PlanDelta(delta_actions=(("venueA","venueB","assetX", 10, "now"),), timestamp=None, contract_id="c1")
|
|
assert delta.contract_id == "c1"
|
|
|
|
def test_dual_variables_basic():
|
|
dv = DualVariables(shadow_prices={"energy": 0.5, "latency": 0.2}, version=1)
|
|
assert dv.shadow_prices["energy"] == 0.5
|