25 lines
891 B
Python
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"
|