novaplan-decentralized-priv.../tests/test_catopt_bridge.py

25 lines
891 B
Python

import time
from nova_plan.planner import LocalProblem
from nova_plan.contracts import PlanDelta
from nova_plan.catopt_bridge import to_object, delta_to_morphism, ObjectI, Morphism
def test_to_object_maps_basic_fields():
lp = LocalProblem(id="test-agent", objective=lambda v, s: sum(v.values()) + sum(s.values()), variables={"x": 1.0}, constraints={})
obj = to_object(lp)
assert isinstance(obj, ObjectI)
assert obj.id == "test-agent"
assert "variables" in obj.payload
def test_delta_to_morphism_maps_delta_fields():
delta = {"x": 0.5}
d = PlanDelta(agent_id="test-agent", delta=delta, timestamp=time.time())
m = delta_to_morphism(d, contract_id="c-1", source="test-agent", target="global")
assert isinstance(m, Morphism)
assert m.source == "test-agent"
assert m.target == "global"
assert m.data == delta
assert m.contract_id == "c-1"