30 lines
939 B
Python
30 lines
939 B
Python
import time
|
|
|
|
from nova_plan.planner import LocalProblem
|
|
from nova_plan.contracts import PlanDelta
|
|
from nova_plan.interop_catopt import local_to_canon, canon_delta_to_morphism
|
|
from nova_plan.catopt_bridge import ObjectI, Morphism
|
|
|
|
|
|
def test_local_to_canon_wrapper_returns_objectI():
|
|
lp = LocalProblem(
|
|
id="interop-agent",
|
|
objective=lambda v, s: sum(v.values()) + sum(s.values()),
|
|
variables={"x": 3.0},
|
|
constraints={},
|
|
)
|
|
obj = local_to_canon(lp)
|
|
assert isinstance(obj, ObjectI)
|
|
assert obj.id == "interop-agent"
|
|
assert "variables" in obj.payload
|
|
|
|
|
|
def test_canon_delta_from_plan_delta():
|
|
d = PlanDelta(agent_id="interop-agent", delta={"x": 0.25}, timestamp=time.time())
|
|
m = canon_delta_to_morphism(d)
|
|
assert isinstance(m, Morphism)
|
|
assert m.source == "interop-agent"
|
|
assert m.target == "global"
|
|
assert m.data == {"x": 0.25}
|
|
assert m.contract_id == "default"
|