Skip to content

Commit 1f60a36

Browse files
committed
Add test
1 parent a32e2e8 commit 1f60a36

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

test/Bridges/Constraint/set_conversion.jl

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,15 @@ function Base.convert(::Type{Zero}, s::MOI.EqualTo)
3939
return Zero()
4040
end
4141

42+
# Does not make sense that this is convertible but it's
43+
# just to test `conversion_cost`
44+
function MOI.Bridges.Constraint.conversion_cost(
45+
::Type{MOI.LessThan{Float64}},
46+
::Type{Zero},
47+
)
48+
return 10.0
49+
end
50+
4251
const EqualToBridge{T,S1,F} =
4352
MOI.Bridges.Constraint.SetConversionBridge{T,MOI.EqualTo{T},S1,F}
4453

@@ -57,6 +66,33 @@ function test_runtests()
5766
return
5867
end
5968

69+
function test_conversion_cost(T = Float64)
70+
model = MOI.Utilities.Model{T}()
71+
bridged = MOI.Bridges.LazyBridgeOptimizer(model)
72+
MOI.Bridges.add_bridge(
73+
bridged,
74+
MOI.Bridges.Constraint.SetConversionBridge{T,MOI.LessThan{T}},
75+
)
76+
@test MOI.Bridges.bridge_type(bridged, MOI.VariableIndex, Zero) ==
77+
MOI.Bridges.Constraint.SetConversionBridge{
78+
T,
79+
MOI.LessThan{T},
80+
Zero,
81+
MOI.VariableIndex,
82+
}
83+
MOI.Bridges.add_bridge(
84+
bridged,
85+
MOI.Bridges.Constraint.SetConversionBridge{T,MOI.EqualTo{T}},
86+
)
87+
@test MOI.Bridges.bridge_type(bridged, MOI.VariableIndex, Zero) ==
88+
MOI.Bridges.Constraint.SetConversionBridge{
89+
T,
90+
MOI.EqualTo{T},
91+
Zero,
92+
MOI.VariableIndex,
93+
}
94+
end
95+
6096
end # module
6197

6298
TestConstraintSetConversion.runtests()

0 commit comments

Comments
 (0)