import json from crisisguard.core import LocalPlan, PlanDelta from crisisguard.adapters import supply_chain_optimizer, shelter_planner def test_adapter_supply_chain_process_updates_plan(): base = LocalPlan(plan_id="LP1", neighborhood="N1", contents={"shelter": {"capacity": 5}, "medical": {"stock": 20}}) delta = PlanDelta(delta_id="D1", base_plan_id=base.plan_id, updates={"shelter": {"capacity": 7}}, author="tester") updated = supply_chain_optimizer.process(base, delta) assert updated.contents["shelter"]["capacity"] == 7 assert updated.version == base.version + 1 def test_adapter_shelter_planner_process_updates_shelter_only(): base = LocalPlan(plan_id="LP2", neighborhood="N2", contents={"shelter": {"capacity": 10, "beds": 20}}) delta = PlanDelta(delta_id="D2", base_plan_id=base.plan_id, updates={"shelter": {"beds": 25}}, author="tester") updated = shelter_planner.process(base, delta) assert updated.contents["shelter"]["beds"] == 25 assert updated.version == base.version + 1