import math from catopt_category_theoretic_compositional import LocalProblem, SharedVariables, PlanDelta, admm_update def test_admm_update_basic(): # Use the DSL LocalProblem to reflect the current package surface lp = LocalProblem(id="lp1", domain="energy", objective="minimize", constraints=[], variables=None) sh = SharedVariables(version=1, signals={"z": 0.8}) delta = admm_update(lp, sh) # The current MVP surface returns a DSL LocalProblem carrying delta in 'variables' assert delta.__class__.__name__ == "LocalProblem" # Ensure a delta-like payload is present inside 'variables' assert isinstance(delta.variables, dict) assert any(isinstance(v, float) for v in delta.variables.values())