Skip to content

Commit d4b6137

Browse files
committed
Add tests
1 parent 2438c31 commit d4b6137

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

src/MOI_wrapper.jl

+3-1
Original file line numberDiff line numberDiff line change
@@ -206,9 +206,11 @@ end
206206
function MOI.copy_to(dest::DualOptimizer, src::MOI.ModelLike)
207207
dualize(src, dest.dual_problem)
208208
idx_map = MOI.Utilities.IndexMap()
209-
for vi in MOI.get(src, MOI.ListOfVariableIndices())
209+
vis_src = MOI.get(src, MOI.ListOfVariableIndices())
210+
for vi in vis_src
210211
setindex!(idx_map, vi, vi)
211212
end
213+
MOI.Utilities.pass_attributes(dest, src, idx_map, vis_src)
212214
for (F, S) in MOI.get(src, MOI.ListOfConstraintTypesPresent())
213215
for con in MOI.get(src, MOI.ListOfConstraintIndices{F,S}())
214216
setindex!(idx_map, con, con)

test/Tests/test_MOI_wrapper.jl

+14
Original file line numberDiff line numberDiff line change
@@ -127,4 +127,18 @@
127127
DualOptimizer{Float32,Caching_OptimizerType}
128128
end
129129
end
130+
131+
@testset "Start" begin
132+
model = MOI.Utilities.UniversalFallback(TestModel{Float64}())
133+
x = MOI.add_variable(model)
134+
c = MOI.add_constraint(model, 2.0 * x, MOI.GreaterThan(0.0))
135+
MOI.set(model, MOI.ObjectiveSense(), MOI.MIN_SENSE)
136+
MOI.set(model, MOI.VariablePrimalStart(), x, 1.0)
137+
MOI.set(model, MOI.ConstraintPrimalStart(), c, 3.0)
138+
MOI.set(model, MOI.ConstraintDualStart(), c, 4.0)
139+
dual_problem = Dualization.DualProblem{Float64}(TestModel{Float64}())
140+
OptimizerType = typeof(dual_problem.dual_model)
141+
dual = DualOptimizer{Float64,OptimizerType}(dual_problem)
142+
index_map = MOI.copy_to(dual, model)
143+
end
130144
end

0 commit comments

Comments
 (0)