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