20 lines
1.0 KiB
Python
20 lines
1.0 KiB
Python
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
|