From d0e3afb8dab87b8fa66fc86ddb2569ca7734081a Mon Sep 17 00:00:00 2001 From: sebapersson Date: Fri, 28 Mar 2025 14:39:28 +0000 Subject: [PATCH] Improve test coverage --- src/problem.jl | 4 ---- test/problem.jl | 14 +++++++++++++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/problem.jl b/src/problem.jl index 879f7c6..1f5beb2 100644 --- a/src/problem.jl +++ b/src/problem.jl @@ -175,10 +175,6 @@ function _get_fides_results(obj::Float64, g::AbstractVector, py::Bool) return py ? (obj, np_py.array(g)) : (obj, g) end -function _get_xinput!(xinput::InputVector, x::PythonCall.Py)::Nothing - xinput .= PythonCall.pyconvert(Vector{Float64}, x) - return nothing -end function _get_xinput!(xinput::InputVector, x)::Nothing xinput .= x return nothing diff --git a/test/problem.jl b/test/problem.jl index d61adce..5b56859 100644 --- a/test/problem.jl +++ b/test/problem.jl @@ -16,7 +16,6 @@ function fides_obj2(x) end x0, lb, ub, = [2.0, 2.0], [-10.0, -10.0], [10.0, 10.0] - @testset "FidesProblem" begin prob1 = FidesProblem(rosenbrock, rosenbrock_grad!, x0; lb = lb, ub = ub) sol1 = solve(prob1, Fides.BFGS()) @@ -34,4 +33,17 @@ x0, lb, ub, = [2.0, 2.0], [-10.0, -10.0], [10.0, 10.0] prob4 = FidesProblem(fides_obj2, x0, true; lb = lb, ub = ub) sol4 = solve(prob4) @test all(.≈(sol4.xmin, [1.0, 1.0]; atol = 1e-6)) + + # No bounds + prob5 = FidesProblem(fides_obj2, x0, true) + sol5 = solve(prob5) + @test all(.≈(sol5.xmin, [1.0, 1.0]; atol = 1e-6)) + + # Check correct Hessian input handling + @test_throws ArgumentError begin + solve(prob3) + end + @test_throws ArgumentError begin + solve(prob4, Fides.BFGS()) + end end