2525@testset " Parameters" begin
2626 optimizer = Mosek. Optimizer (fallback = FALLBACK_URL)
2727 @testset " Double Parameter" begin
28- MOI. set (optimizer, MosekTools . Parameter (" INTPNT_CO_TOL_DFEAS" ), 1e-7 )
29- @test MOI. get (optimizer, MosekTools . Parameter (" MSK_DPAR_INTPNT_CO_TOL_DFEAS" )) == 1e-7
30- MOI. set (optimizer, MosekTools . Parameter (" MSK_DPAR_INTPNT_CO_TOL_DFEAS" ), 1e-8 )
31- @test MOI. get (optimizer, MosekTools . Parameter (" MSK_DPAR_INTPNT_CO_TOL_DFEAS" )) == 1e-8
28+ MOI. set (optimizer, MOI . RawParameter (" INTPNT_CO_TOL_DFEAS" ), 1e-7 )
29+ @test MOI. get (optimizer, MOI . RawParameter (" MSK_DPAR_INTPNT_CO_TOL_DFEAS" )) == 1e-7
30+ MOI. set (optimizer, MOI . RawParameter (" MSK_DPAR_INTPNT_CO_TOL_DFEAS" ), 1e-8 )
31+ @test MOI. get (optimizer, MOI . RawParameter (" MSK_DPAR_INTPNT_CO_TOL_DFEAS" )) == 1e-8
3232 @testset " with integer value" begin
33- MOI. set (optimizer, MosekTools . Parameter (" MSK_DPAR_INTPNT_CO_TOL_DFEAS" ), 1 )
34- @test MOI. get (optimizer, MosekTools . Parameter (" MSK_DPAR_INTPNT_CO_TOL_DFEAS" )) == 1
33+ MOI. set (optimizer, MOI . RawParameter (" MSK_DPAR_INTPNT_CO_TOL_DFEAS" ), 1 )
34+ @test MOI. get (optimizer, MOI . RawParameter (" MSK_DPAR_INTPNT_CO_TOL_DFEAS" )) == 1
3535 end
3636 end
3737 @testset " Integer Parameter" begin
38- MOI. set (optimizer, MosekTools . Parameter (" MSK_IPAR_INTPNT_MAX_ITERATIONS" ), 100 )
39- @test MOI. get (optimizer, MosekTools . Parameter (" MSK_IPAR_INTPNT_MAX_ITERATIONS" )) == 100
40- MOI. set (optimizer, MosekTools . Parameter (" INTPNT_MAX_ITERATIONS" ), 200 )
41- @test MOI. get (optimizer, MosekTools . Parameter (" MSK_IPAR_INTPNT_MAX_ITERATIONS" )) == 200
38+ MOI. set (optimizer, MOI . RawParameter (" MSK_IPAR_INTPNT_MAX_ITERATIONS" ), 100 )
39+ @test MOI. get (optimizer, MOI . RawParameter (" MSK_IPAR_INTPNT_MAX_ITERATIONS" )) == 100
40+ MOI. set (optimizer, MOI . RawParameter (" INTPNT_MAX_ITERATIONS" ), 200 )
41+ @test MOI. get (optimizer, MOI . RawParameter (" MSK_IPAR_INTPNT_MAX_ITERATIONS" )) == 200
4242 @testset " with enum value" begin
43- MOI. set (optimizer, MosekTools . Parameter (" MSK_IPAR_OPTIMIZER" ), MosekTools. Mosek. MSK_OPTIMIZER_DUAL_SIMPLEX)
44- @test MOI. get (optimizer, MosekTools . Parameter (" MSK_IPAR_OPTIMIZER" )) == convert (Int32, MosekTools. Mosek. MSK_OPTIMIZER_DUAL_SIMPLEX)
43+ MOI. set (optimizer, MOI . RawParameter (" MSK_IPAR_OPTIMIZER" ), MosekTools. Mosek. MSK_OPTIMIZER_DUAL_SIMPLEX)
44+ @test MOI. get (optimizer, MOI . RawParameter (" MSK_IPAR_OPTIMIZER" )) == convert (Int32, MosekTools. Mosek. MSK_OPTIMIZER_DUAL_SIMPLEX)
4545 end
4646 end
4747 @testset " String Parameter" begin
48- MOI. set (optimizer, MosekTools . Parameter (" PARAM_WRITE_FILE_NAME" ), " foo.txt" )
48+ MOI. set (optimizer, MOI . RawParameter (" PARAM_WRITE_FILE_NAME" ), " foo.txt" )
4949 # Needs https://github.com/JuliaOpt/Mosek.jl/pull/174
50- # @test MOI.get(optimizer, MosekTools.Parameter ("MSK_SPAR_PARAM_WRITE_FILE_NAME")) == "foo.txt"
51- MOI. set (optimizer, MosekTools . Parameter (" MSK_SPAR_PARAM_WRITE_FILE_NAME" ), " bar.txt" )
52- # @test MOI.get(optimizer, MosekTools.Parameter ("MSK_SPAR_PARAM_WRITE_FILE_NAME")) == "bar.txt"
50+ # @test MOI.get(optimizer, MOI.RawParameter ("MSK_SPAR_PARAM_WRITE_FILE_NAME")) == "foo.txt"
51+ MOI. set (optimizer, MOI . RawParameter (" MSK_SPAR_PARAM_WRITE_FILE_NAME" ), " bar.txt" )
52+ # @test MOI.get(optimizer, MOI.RawParameter ("MSK_SPAR_PARAM_WRITE_FILE_NAME")) == "bar.txt"
5353 end
5454end
5555
5858 @test MOIU. supports_default_copy_to (optimizer, true )
5959end
6060
61- @testset " Name" begin
62- MOIT. nametest (optimizer)
63- MOI. empty! (optimizer)
64- end
65-
6661const config = MOIT. TestConfig (atol= 1e-3 , rtol= 1e-3 )
6762
6863@testset " Basic" begin
@@ -82,39 +77,45 @@ const config = MOIT.TestConfig(atol=1e-3, rtol=1e-3)
8277 (MOI. ScalarAffineFunction{Float64}, MOI. Interval{Float64})
8378 ])
8479 end
85- # @testset "Conic" begin
86- # # Doesn't work, see https://github.com/JuliaOpt/MathOptInterface.jl/pull/703
87- # MOIT.basic_constraint_tests(
88- # optimizer, config,
89- # delete = false, # TODO
90- # get_constraint_function = false, # TODO
91- # get_constraint_set = false, # TODO
92- # include=[
93- # (MOI.VectorOfVariables, MOI.SecondOrderCone),
94- # (MOI.VectorOfVariables, MOI.RotatedSecondOrderCone)
95- # ])
96- # end
80+ @testset " Conic" begin
81+ MOIT. basic_constraint_tests (
82+ optimizer, config,
83+ delete = false , # TODO
84+ get_constraint_function = false , # TODO
85+ get_constraint_set = false , # TODO
86+ include= [
87+ (MOI. VectorOfVariables, MOI. SecondOrderCone),
88+ (MOI. VectorOfVariables, MOI. RotatedSecondOrderCone)
89+ ])
90+ end
9791end
9892
9993const bridged = MOIB. full_bridge_optimizer (optimizer, Float64)
10094
95+ # Mosek errors during `MOI.set` instead of `MOI.get` when there are duplicates.
96+ # @testset "Name" begin
97+ # MOIT.nametest(bridged)
98+ # end
99+
101100@testset " Copy" begin
102101 model = MOIB. full_bridge_optimizer (Mosek. Optimizer (), Float64)
103102 MOIT. copytest (bridged, model)
104103end
105104
106105@testset " Unit" begin
107106 # Mosek does not support names
108- MOIT. unittest (bridged,
109- config,
110- [# Does not support quadratic objective yet, needs
111- # https://github.com/JuliaOpt/MathOptInterface.jl/issues/529
112- " solve_qp_edge_cases" ,
113- # Find objective bound of 0.0 which is lower than 4.0
114- " solve_objbound_edge_cases" ,
115- # Cannot put multiple bound sets of the same type on a variable
116- " solve_integer_edge_cases"
117- ])
107+ MOIT. unittest (bridged, config, [
108+ # Does not support quadratic objective yet, needs
109+ # https://github.com/JuliaOpt/MathOptInterface.jl/issues/529
110+ " solve_qp_edge_cases" ,
111+ # Find objective bound of 0.0 which is lower than 4.0
112+ " solve_objbound_edge_cases" ,
113+ # Cannot put multiple bound sets of the same type on a variable
114+ " solve_integer_edge_cases" ,
115+ # Cannot mix `ZeroOne` with `GreaterThan`/`LessThan`
116+ " solve_zero_one_with_bounds_1" ,
117+ " solve_zero_one_with_bounds_2" ,
118+ " solve_zero_one_with_bounds_3" ])
118119end
119120
120121@testset " Continuous Linear" begin
130131end
131132
132133@testset " Integer Linear" begin
133- MOIT. intlineartest (optimizer, config, [" int2" ])
134+ MOIT. intlineartest (optimizer, config, [" int2" , " indicator1 " , " indicator2 " , " indicator3 " ])
134135end
135136
136137# Test that objective and constraint data are copied over correctly when
0 commit comments