gridverse-open-low-code-pla.../tests/test_contracts.py

17 lines
707 B
Python

import time
from gridverse.contracts import LocalProblem, SharedVariables, PlanDelta, ConstraintSet, DeviceInfo
def test_contract_dataclasses_basic():
lp = LocalProblem(id="lp-1", description="test", parameters={"p": 1})
sv = SharedVariables(name="x", value=10)
pd = PlanDelta(id="pd-1", timestamp=time.time(), updates={"a": 1})
cs = ConstraintSet(name="mesh", constraints={"energy": 1})
di = DeviceInfo(device_id="dev-1", device_type="sensor")
assert lp.id == "lp-1" and lp.parameters["p"] == 1
assert sv.name == "x" and sv.value == 10
assert pd.updates["a"] == 1
assert cs.constraints["energy"] == 1
assert di.device_id == "dev-1" and di.device_type == "sensor"