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"