@@ -98,6 +98,8 @@ function test_delete_constraint_LessThan()
9898 @test MOI. is_valid (a, c)
9999 MOI. delete (a, c)
100100 @test ! MOI. is_valid (a, c)
101+ ci = MOI. ConstraintIndex {MOI.VectorOfVariables,MOI.Zeros} (1 )
102+ @test ! MOI. is_valid (a, ci)
101103 return
102104end
103105
@@ -314,6 +316,37 @@ function test_ListOfConstraintTypesPresent_2()
314316 return
315317end
316318
319+ function test_LowerBoundAlreadySet ()
320+ for set in (
321+ MOI. EqualTo (1 ),
322+ MOI. GreaterThan (1 ),
323+ MOI. Interval (1 ),
324+ MOI. Parameter (1 ),
325+ MOI. Semicontinuous (1 , 3 ),
326+ MOI. Semiinteger (1 , 3 ),
327+ )
328+ model = MOI. Utilities. VariablesContainer {Int} ()
329+ x = MOI. add_variable (model)
330+ c = MOI. add_constraint (model, x, set)
331+ @test_throws (
332+ MOI. LowerBoundAlreadySet,
333+ MOI. add_constraint (model, x, MOI. EqualTo (2 )),
334+ )
335+ end
336+ return
337+ end
338+
339+ function test_UnsupportedConstraint ()
340+ model = MOI. Utilities. VariablesContainer {Int} ()
341+ x = [MOI. add_variable (model) for _ in 1 : 3 ]
342+ f = MOI. VectorOfVariables (x)
343+ @test_throws (
344+ MOI. UnsupportedConstraint{MOI. VectorOfVariables,MOI. ExponentialCone},
345+ MOI. add_constraint (model, f, MOI. ExponentialCone ()),
346+ )
347+ return
348+ end
349+
317350end # module
318351
319352TestVariableContainer. runtests ()
0 commit comments