30 lines
939 B
Python
30 lines
939 B
Python
import time
|
|
from gridverse.energi_bridge_skeleton import LocalProblem, SharedSignal, PlanDelta
|
|
|
|
|
|
def test_local_problem_basic():
|
|
lp = LocalProblem(id="lp-001", name="test-problem", variables={"p1": 1.0})
|
|
d = lp.to_dict()
|
|
assert d["id"] == "lp-001"
|
|
assert d["name"] == "test-problem"
|
|
assert d["variables"]["p1"] == 1.0
|
|
|
|
|
|
def test_shared_signal_basic_and_bump():
|
|
s = SharedSignal(name="forecast", value=12.5)
|
|
old_version = s.version
|
|
s.bump(13.0)
|
|
assert s.value == 13.0
|
|
assert s.version == old_version + 1
|
|
assert isinstance(s.to_dict(), dict)
|
|
|
|
|
|
def test_plan_delta_changes_and_serialization():
|
|
pd = PlanDelta(changes=[{"action": "set", "key": "v1", "val": 42}])
|
|
prev_version = pd.version
|
|
pd.add_change({"action": "update", "key": "v1", "val": 43})
|
|
assert pd.version == prev_version + 1
|
|
as_dict = pd.to_dict()
|
|
assert isinstance(as_dict, dict)
|
|
assert "changes" in as_dict
|