24 lines
608 B
Python
24 lines
608 B
Python
import json
|
|
|
|
from elac_plan.core import LocalProblem
|
|
from elac_plan.solver import LocalSolver
|
|
|
|
|
|
def test_solver_basic():
|
|
solver = LocalSolver()
|
|
lp = LocalProblem(
|
|
id="lp1",
|
|
asset="AAPL",
|
|
venue="NYSE",
|
|
objective="minimize_spread",
|
|
constraints={"max_volume": 1000},
|
|
price_target=150.0,
|
|
tolerance=0.5,
|
|
)
|
|
delta = solver.solve(lp)
|
|
assert isinstance(delta, type(solver.solve(lp)))
|
|
payload = delta.to_json()
|
|
# Basic sanity: json should be parseable and contain contract_id
|
|
d = json.loads(payload)
|
|
assert "contract_id" in d
|