Skip to content

Commit 199bfac

Browse files
committed
get full coverage
1 parent 73186f4 commit 199bfac

1 file changed

Lines changed: 16 additions & 1 deletion

File tree

test/nlp_program.jl

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -977,7 +977,7 @@ function test_changing_factorization()
977977
)
978978
end
979979

980-
function test_reverse_bounds()
980+
function test_reverse_bounds_lower()
981981
model = DiffOpt.nonlinear_diff_model(Ipopt.Optimizer)
982982
set_silent(model)
983983
@variable(model, x[1:3] >= 0) # x[3] ≥ 0 is active
@@ -992,6 +992,21 @@ function test_reverse_bounds()
992992
@test isapprox(dp, -2.88888; atol = 1e-4)
993993
end
994994

995+
function test_reverse_bounds_upper()
996+
model = DiffOpt.nonlinear_diff_model(Ipopt.Optimizer)
997+
set_silent(model)
998+
@variable(model, x[1:3] <= 0) # x[3] ≤ 0 is active
999+
@variable(model, p in MOI.Parameter(4.5))
1000+
@constraint(model, 6x[1] + 3x[2] + 2x[3] == -p)
1001+
@constraint(model, x[1] + x[2] - x[3] == -1)
1002+
@objective(model, Min, sum(x.^2))
1003+
optimize!(model)
1004+
MOI.set(model, DiffOpt.ReverseConstraintDual(), UpperBoundRef(x[3]), 1.0)
1005+
DiffOpt.reverse_differentiate!(model)
1006+
dp = MOI.get(model, DiffOpt.ReverseConstraintSet(), ParameterRef(p)).value
1007+
@test isapprox(dp, 2.88888; atol = 1e-4)
1008+
end
1009+
9951010
end # module
9961011

9971012
TestNLPProgram.runtests()

0 commit comments

Comments
 (0)