From dffa352fb46684203d183381785d236bde24edda Mon Sep 17 00:00:00 2001 From: Janos Gabler Date: Mon, 19 Oct 2026 19:51:52 +0200 Subject: [PATCH] Test that incompatible solver types raise InvalidFunctionError Co-Authored-By: Claude Opus 5.5 --- .../test_function_formats_scalar.py | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tests/optimagic/optimization/test_function_formats_scalar.py b/tests/optimagic/optimization/test_function_formats_scalar.py index 2134bf8a8..7fee8e608 100644 --- a/tests/optimagic/optimization/test_function_formats_scalar.py +++ b/tests/optimagic/optimization/test_function_formats_scalar.py @@ -433,3 +433,27 @@ def test_minimize_with_invalid_fun_and_jac(fun_and_jac): algorithm="scipy_lbfgsb", fun_and_jac=fun_and_jac, ) + + +# ====================================================================================== +# incompatible solver types +# ====================================================================================== + + +def test_scalar_problem_with_likelihood_solver_raises(): + with pytest.raises(InvalidFunctionError, match="Likelihood solvers can only"): + minimize(fun=sos, params=np.array([1, 2, 3]), algorithm="bhhh") + + +def test_scalar_problem_with_least_squares_solver_raises(): + with pytest.raises(InvalidFunctionError, match="Least-squares solvers can only"): + minimize(fun=sos, params=np.array([1, 2, 3]), algorithm="scipy_ls_trf") + + +def test_likelihood_problem_with_least_squares_solver_raises(): + with pytest.raises(InvalidFunctionError, match="Least-squares solvers can only"): + minimize( + fun=mark.likelihood(lambda x: x**2), + params=np.array([1, 2, 3]), + algorithm="scipy_ls_trf", + )