Skip to content
This repository was archived by the owner on Jun 14, 2020. It is now read-only.

Commit 2ff3462

Browse files
committed
Coverage improvements
1 parent 1d814e3 commit 2ff3462

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

test/runtests.jl

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,45 @@ end
378378
objective_type_test(convert(MOI.ScalarQuadraticFunction{Float64}, f))
379379
end
380380

381+
@testset "Conflicting SingleVariable constraints" begin
382+
@testset "ZeroOne" begin
383+
model = LQOI.MockLinQuadOptimizer()
384+
x = MOI.add_variable(model)
385+
MOI.add_constraint(model, MOI.SingleVariable(x), MOI.ZeroOne())
386+
@test_throws Exception MOI.add_constraint(model, MOI.SingleVariable(x), MOI.Interval(2.0, 3.0))
387+
@test_throws Exception MOI.add_constraint(model, MOI.SingleVariable(x), MOI.Integer())
388+
@test_throws Exception MOI.add_constraint(model, MOI.SingleVariable(x), MOI.Semiinteger(2.0, 3.0))
389+
@test_throws Exception MOI.add_constraint(model, MOI.SingleVariable(x), MOI.Semicontinuous(2.0, 3.0))
390+
end
391+
@testset "Integer" begin
392+
model = LQOI.MockLinQuadOptimizer()
393+
x = MOI.add_variable(model)
394+
MOI.add_constraint(model, MOI.SingleVariable(x), MOI.Integer())
395+
MOI.add_constraint(model, MOI.SingleVariable(x), MOI.Interval(2.0, 3.0))
396+
@test_throws Exception MOI.add_constraint(model, MOI.SingleVariable(x), MOI.ZeroOne())
397+
@test_throws Exception MOI.add_constraint(model, MOI.SingleVariable(x), MOI.Semiinteger(2.0, 3.0))
398+
@test_throws Exception MOI.add_constraint(model, MOI.SingleVariable(x), MOI.Semicontinuous(2.0, 3.0))
399+
end
400+
@testset "Semiinteger" begin
401+
model = LQOI.MockLinQuadOptimizer()
402+
x = MOI.add_variable(model)
403+
MOI.add_constraint(model, MOI.SingleVariable(x), MOI.Semiinteger(2.0, 3.0))
404+
@test_throws Exception MOI.add_constraint(model, MOI.SingleVariable(x), MOI.Interval(2.0, 3.0))
405+
@test_throws Exception MOI.add_constraint(model, MOI.SingleVariable(x), MOI.ZeroOne())
406+
@test_throws Exception MOI.add_constraint(model, MOI.SingleVariable(x), MOI.Integer())
407+
@test_throws Exception MOI.add_constraint(model, MOI.SingleVariable(x), MOI.Semicontinuous(2.0, 3.0))
408+
end
409+
@testset "Semicontinuous" begin
410+
model = LQOI.MockLinQuadOptimizer()
411+
x = MOI.add_variable(model)
412+
MOI.add_constraint(model, MOI.SingleVariable(x), MOI.Semicontinuous(2.0, 3.0))
413+
@test_throws Exception MOI.add_constraint(model, MOI.SingleVariable(x), MOI.Interval(2.0, 3.0))
414+
@test_throws Exception MOI.add_constraint(model, MOI.SingleVariable(x), MOI.ZeroOne())
415+
@test_throws Exception MOI.add_constraint(model, MOI.SingleVariable(x), MOI.Integer())
416+
@test_throws Exception MOI.add_constraint(model, MOI.SingleVariable(x), MOI.Semiinteger(2.0, 3.0))
417+
end
418+
end
419+
381420
@testset "SemiXXX variables" begin
382421
@testset "Semiinteger" begin
383422
model = LQOI.MockLinQuadOptimizer()

0 commit comments

Comments
 (0)