@@ -304,6 +304,36 @@ function test_runtests()
304304 return
305305end
306306
307+ function test_open_interval ()
308+ for set in Any[
309+ MOI. Semicontinuous (1.0 , Inf ),
310+ MOI. Semicontinuous (- 1.0 , Inf ),
311+ MOI. Semicontinuous (- Inf , 1.0 ),
312+ MOI. Semicontinuous (- Inf , - 1.0 ),
313+ MOI. Semiinteger (1.0 , Inf ),
314+ MOI. Semiinteger (- 1.0 , Inf ),
315+ MOI. Semiinteger (- Inf , 1.0 ),
316+ MOI. Semiinteger (- Inf , - 1.0 ),
317+ ]
318+ model = MOI. Utilities. Model {Float64} ()
319+ bridged = MOI. Bridges. Constraint. SemiToBinary {Float64} (model)
320+ x = MOI. add_variable (bridged)
321+ @test_throws (
322+ MOI. AddConstraintNotAllowed{MOI. VariableIndex,typeof (set)},
323+ MOI. add_constraint (bridged, x, set)
324+ )
325+ model = MOI. Utilities. Model {Float64} ()
326+ bridged = MOI. Bridges. Constraint. SemiToBinary {Float64} (model)
327+ x = MOI. add_variable (bridged)
328+ c = MOI. add_constraint (bridged, x, typeof (set)(1.0 , 2.0 ))
329+ @test_throws (
330+ MOI. SetAttributeNotAllowed,
331+ MOI. set (bridged, MOI. ConstraintSet (), c, set),
332+ )
333+ end
334+ return
335+ end
336+
307337end # module
308338
309339TestConstraintSemiToBinary. runtests ()
0 commit comments