@@ -1129,3 +1129,49 @@ function test_get_duals_from_multiplicative_parameters_3()
11291129 @test MOI. get .(model, POI. ParameterDual (), p) ≈ 2 * 4.0 / 3
11301130 return
11311131end
1132+
1133+ function test_parameters_cannot_be_nan_1 ()
1134+ model = Model (() -> POI. Optimizer (GLPK. Optimizer ()))
1135+ @variable (model, x)
1136+ @variable (model, p in Parameter (NaN ))
1137+ @constraint (model, c, 3 * x >= p * p)
1138+ @objective (model, Min, sum (x))
1139+ @test_throws AssertionError optimize! (model)
1140+ MOI. set (model, POI. ParameterValue (), p, 20.0 )
1141+ return
1142+ end
1143+
1144+ function test_parameters_cannot_be_nan_2 ()
1145+ optimizer = POI. Optimizer (GLPK. Optimizer ())
1146+ model = direct_model (optimizer)
1147+ @variable (model, x[1 : 2 ])
1148+ @test_throws AssertionError @variable (model, p in Parameter (NaN ))
1149+ @variable (model, p in Parameter (1.0 ))
1150+ @constraint (model, c, 3 * x[1 ] + x[2 ] >= p * p)
1151+ @objective (model, Min, sum (x))
1152+ @test_throws AssertionError MOI. set (model, POI. ParameterValue (), p, NaN )
1153+ return
1154+ end
1155+
1156+ function test_parameter_Cannot_be_inf_1 ()
1157+ model = Model (() -> POI. Optimizer (GLPK. Optimizer ()))
1158+ @variable (model, x)
1159+ @variable (model, p in Parameter (Inf ))
1160+ @constraint (model, c, 3 * x >= p * p)
1161+ @objective (model, Min, sum (x))
1162+ @test_throws AssertionError optimize! (model)
1163+ MOI. set (model, POI. ParameterValue (), p, 20.0 )
1164+ return
1165+ end
1166+
1167+ function test_parameter_Cannot_be_inf_2 ()
1168+ optimizer = POI. Optimizer (GLPK. Optimizer ())
1169+ model = direct_model (optimizer)
1170+ @variable (model, x[1 : 2 ])
1171+ @test_throws AssertionError @variable (model, p in Parameter (Inf ))
1172+ @variable (model, p in Parameter (1.0 ))
1173+ @constraint (model, c, 3 * x[1 ] + x[2 ] >= p * p)
1174+ @objective (model, Min, sum (x))
1175+ @test_throws AssertionError MOI. set (model, POI. ParameterValue (), p, Inf )
1176+ return
1177+ end
0 commit comments