| 
204 | 204 |                                    "a name")  | 
205 | 205 |     @test_throws Exception MOI.get(uf, MOI.ConstraintIndex, "a name")  | 
206 | 206 | end  | 
 | 207 | + | 
 | 208 | +@testset "Delete" begin  | 
 | 209 | +    model = ModelForUniversalFallback{Float64}()  | 
 | 210 | +    uf = MOIU.UniversalFallback(model)  | 
 | 211 | +    x, cx = MOI.add_constrained_variable(uf, MOI.GreaterThan(0.0))  | 
 | 212 | +    y, cy = MOI.add_constrained_variables(uf, MOI.Nonpositives(4))  | 
 | 213 | +    @test MOI.is_valid(uf, x)  | 
 | 214 | +    @test MOI.is_valid(uf, y[1])  | 
 | 215 | +    @test MOI.is_valid(uf, y[2])  | 
 | 216 | +    @test MOI.is_valid(uf, y[3])  | 
 | 217 | +    @test MOI.is_valid(uf, y[4])  | 
 | 218 | +    @test MOI.is_valid(uf, cx)  | 
 | 219 | +    @test MOI.is_valid(uf, cy)  | 
 | 220 | +    @test MOI.get(uf, MOI.ConstraintFunction(), cx) == MOI.SingleVariable(x)  | 
 | 221 | +    @test MOI.get(uf, MOI.ConstraintSet(), cx) == MOI.GreaterThan(0.0)  | 
 | 222 | +    @test MOI.get(uf, MOI.ConstraintFunction(), cy) == MOI.VectorOfVariables(y)  | 
 | 223 | +    @test MOI.get(uf, MOI.ConstraintSet(), cy) == MOI.Nonpositives(4)  | 
 | 224 | +    MOI.delete(uf, y[3])  | 
 | 225 | +    @test MOI.is_valid(uf, x)  | 
 | 226 | +    @test MOI.is_valid(uf, y[1])  | 
 | 227 | +    @test MOI.is_valid(uf, y[2])  | 
 | 228 | +    @test !MOI.is_valid(uf, y[3])  | 
 | 229 | +    @test MOI.is_valid(uf, y[4])  | 
 | 230 | +    @test MOI.is_valid(uf, cx)  | 
 | 231 | +    @test MOI.is_valid(uf, cy)  | 
 | 232 | +    @test MOI.get(uf, MOI.ConstraintFunction(), cx) == MOI.SingleVariable(x)  | 
 | 233 | +    @test MOI.get(uf, MOI.ConstraintSet(), cx) == MOI.GreaterThan(0.0)  | 
 | 234 | +    @test MOI.get(uf, MOI.ConstraintFunction(), cy) == MOI.VectorOfVariables(y[[1, 2, 4]])  | 
 | 235 | +    @test MOI.get(uf, MOI.ConstraintSet(), cy) == MOI.Nonpositives(3)  | 
 | 236 | +    MOI.delete(uf, y[1])  | 
 | 237 | +    @test MOI.is_valid(uf, x)  | 
 | 238 | +    @test !MOI.is_valid(uf, y[1])  | 
 | 239 | +    @test MOI.is_valid(uf, y[2])  | 
 | 240 | +    @test !MOI.is_valid(uf, y[3])  | 
 | 241 | +    @test MOI.is_valid(uf, y[4])  | 
 | 242 | +    @test MOI.is_valid(uf, cx)  | 
 | 243 | +    @test MOI.is_valid(uf, cy)  | 
 | 244 | +    @test MOI.get(uf, MOI.ConstraintFunction(), cx) == MOI.SingleVariable(x)  | 
 | 245 | +    @test MOI.get(uf, MOI.ConstraintSet(), cx) == MOI.GreaterThan(0.0)  | 
 | 246 | +    @test MOI.get(uf, MOI.ConstraintFunction(), cy) == MOI.VectorOfVariables(y[[2, 4]])  | 
 | 247 | +    @test MOI.get(uf, MOI.ConstraintSet(), cy) == MOI.Nonpositives(2)  | 
 | 248 | +    MOI.delete(uf, x)  | 
 | 249 | +    @test !MOI.is_valid(uf, x)  | 
 | 250 | +    @test !MOI.is_valid(uf, y[1])  | 
 | 251 | +    @test MOI.is_valid(uf, y[2])  | 
 | 252 | +    @test !MOI.is_valid(uf, y[3])  | 
 | 253 | +    @test MOI.is_valid(uf, y[4])  | 
 | 254 | +    @test !MOI.is_valid(uf, cx)  | 
 | 255 | +    @test MOI.is_valid(uf, cy)  | 
 | 256 | +    @test MOI.get(uf, MOI.ConstraintFunction(), cy) == MOI.VectorOfVariables(y[[2, 4]])  | 
 | 257 | +    @test MOI.get(uf, MOI.ConstraintSet(), cy) == MOI.Nonpositives(2)  | 
 | 258 | +    MOI.delete(uf, y[[2, 4]])  | 
 | 259 | +    @test !MOI.is_valid(uf, x)  | 
 | 260 | +    @test !MOI.is_valid(uf, y[1])  | 
 | 261 | +    @test !MOI.is_valid(uf, y[2])  | 
 | 262 | +    @test !MOI.is_valid(uf, y[3])  | 
 | 263 | +    @test !MOI.is_valid(uf, y[4])  | 
 | 264 | +    @test !MOI.is_valid(uf, cx)  | 
 | 265 | +    @test !MOI.is_valid(uf, cy)  | 
 | 266 | +end  | 
0 commit comments