Skip to content

Commit b5526d8

Browse files
committed
Update
1 parent dfa3fbe commit b5526d8

File tree

3 files changed

+28
-5
lines changed

3 files changed

+28
-5
lines changed

src/MathOptInterface.jl

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -393,14 +393,10 @@ const IndexMap = Utilities.IndexMap
393393
import PrecompileTools
394394

395395
PrecompileTools.@setup_workload begin
396-
optimizer =
397-
() -> Utilities.MockOptimizer(
398-
Utilities.UniversalFallback(Utilities.Model{Float64}()),
399-
)
400396
PrecompileTools.@compile_workload begin
401397
model = Utilities.CachingOptimizer(
402398
Utilities.UniversalFallback(Utilities.Model{Float64}()),
403-
instantiate(optimizer; with_bridge_type = Float64),
399+
instantiate(Utilities.MockOptimizer; with_bridge_type = Float64),
404400
)
405401
set(model, Silent(), true)
406402
x = add_variables(model, 3)

src/Utilities/mockoptimizer.jl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,11 @@ function MockOptimizer(
131131
)
132132
end
133133

134+
function MockOptimizer(::Type{T} = Float64; kwargs...) where {T}
135+
inner = UniversalFallback(Utilities.Model{T}())
136+
return MockOptimizer(inner, T; kwargs...)
137+
end
138+
134139
"""
135140
All user-facing indices are xor'd with this mask to produce unusual indices.
136141
This is good at catching bugs in solvers which assume indices are ordered 1, 2,

test/Utilities/mockoptimizer.jl

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,28 @@ function test_is_set_by_optimize_optimizer_attribute()
285285
return
286286
end
287287

288+
function test_empty_constructor()
289+
mock = MOI.Utilities.MockOptimizer(Int; supports_names = false)
290+
@test mock.supports_names == false
291+
@test isa(
292+
mock,
293+
MOI.Utilities.MockOptimizer{
294+
MOI.Utilities.UniversalFallback{MOI.Utilities.Model{Int}},
295+
Int,
296+
},
297+
)
298+
mock = MOI.Utilities.MockOptimizer()
299+
@test mock.supports_names
300+
@test isa(
301+
mock,
302+
MOI.Utilities.MockOptimizer{
303+
MOI.Utilities.UniversalFallback{MOI.Utilities.Model{Float64}},
304+
Float64,
305+
},
306+
)
307+
return
308+
end
309+
288310
end # module
289311

290312
TestMockOptimizer.runtests()

0 commit comments

Comments
 (0)