idea10-catopt-studio-a/tests/test_solver.py

27 lines
922 B
Python

import datetime
import pytest
from catopt_studio import LocalProblem, SharedVariables
from catopt_studio.solver import compile_to_solver, simulate_solver_step, SolverConfig
def test_compile_to_solver_basic():
lp = LocalProblem(id="lp1", domain="energy", assets={"battery": 100}, objective="min_cost")
sv = SharedVariables()
sc = compile_to_solver(lp, sv)
assert isinstance(sc, SolverConfig)
assert sc.solver_type in ("admm-lite-energy", "admm-lite-cost", "admm-lite")
assert sc.max_iterations == 50
assert sc.rho > 0
def test_simulate_solver_step_returns_dict():
lp = LocalProblem(id="lp1", domain="energy", assets={}, objective="min_cost")
sv = SharedVariables()
sc = compile_to_solver(lp, sv)
step = simulate_solver_step(sc, lp, sv, delta={"x": 1})
assert isinstance(step, dict)
assert step.get("iteration") == 1
assert step.get("delta_applied") == {"x": 1}