diff --git a/src/sets.jl b/src/sets.jl index 61e2b73681..9ff4b316ea 100644 --- a/src/sets.jl +++ b/src/sets.jl @@ -37,6 +37,8 @@ Abstract supertype for subsets of ``\\mathbb{R}``. """ abstract type AbstractScalarSet <: AbstractSet end +Base.broadcastable(set::AbstractScalarSet) = Ref(set) + dimension(s::AbstractScalarSet) = 1 """ diff --git a/test/sets.jl b/test/sets.jl index deb82310e8..6e7a2613bd 100644 --- a/test/sets.jl +++ b/test/sets.jl @@ -1,3 +1,10 @@ +using Test + +using MathOptInterface +const MOI = MathOptInterface + +include("dummy.jl") + """ MutLessThan{T<:Real} <: MOI.AbstractScalarSet @@ -32,7 +39,15 @@ Base.copy(mlt::MutLessThan) = MutLessThan(Base.copy(mlt.upper)) @test s3.set.upper ≈ 4.0 s3_copy.set.upper = 5.0 @test s3.set.upper ≈ 4.0 - @test s3_copy.set.upper ≈ 5.0 + @test s3_copy.set.upper ≈ 5.0 end end + @testset "Broadcast" begin + model = DummyModelWithAdd() + x = MOI.add_variables(model, 3) + cis = MOI.add_constraint.(model, x, MOI.EqualTo(0.0)) + @test cis isa Vector{MOI.ConstraintIndex{MOI.SingleVariable, + MOI.EqualTo{Float64}}} + @test length(cis) == 3 + end end