@@ -123,6 +123,56 @@ function test_unnsupported_attributes()
123123 return
124124end
125125
126+ function test_invalid_model ()
127+ model = MOA. Optimizer (HiGHS. Optimizer)
128+ MOI. optimize! (model)
129+ @test MOI. get (model, MOI. TerminationStatus ()) == MOI. INVALID_MODEL
130+ return
131+ end
132+
133+ function test_raw_optimizer_attribuute ()
134+ model = MOA. Optimizer (HiGHS. Optimizer)
135+ attr = MOI. RawOptimizerAttribute (" presolve" )
136+ @test MOI. supports (model, attr)
137+ @test MOI. get (model, attr) == " choose"
138+ MOI. set (model, attr, " off" )
139+ @test MOI. get (model, attr) == " off"
140+ return
141+ end
142+
143+ function test_algorithm ()
144+ model = MOA. Optimizer (HiGHS. Optimizer)
145+ @test MOI. supports (model, MOA. Algorithm ())
146+ @test MOI. get (model, MOA. Algorithm ()) == nothing
147+ MOI. set (model, MOA. Algorithm (), MOA. Chalmet ())
148+ @test MOI. get (model, MOA. Algorithm ()) == MOA. Chalmet ()
149+ return
150+ end
151+
152+ function test_copy_to ()
153+ src = MOI. Utilities. UniversalFallback (MOI. Utilities. Model {Float64} ())
154+ MOI. set (src, MOA. Algorithm (), MOA. Chalmet ())
155+ x = MOI. add_variables (src, 2 )
156+ MOI. add_constraint .(src, x, MOI. GreaterThan (0.0 ))
157+ f = MOI. Utilities. operate (vcat, Float64, 1.0 .* x... )
158+ MOI. set (src, MOI. ObjectiveFunction {typeof(f)} (), f)
159+ MOI. set (src, MOI. ObjectiveSense (), MOI. MAX_SENSE)
160+ dest = MOA. Optimizer (HiGHS. Optimizer)
161+ index_map = MOI. copy_to (dest, src)
162+ MOI. set (dest, MOI. Silent (), true )
163+ MOI. optimize! (dest)
164+ @test MOI. get (dest, MOI. NumberOfVariables ()) == 2
165+ return
166+ end
167+
168+ function test_scalarise ()
169+ x = MOI. VariableIndex .(1 : 2 )
170+ f = MOI. VectorOfVariables (x)
171+ g = MOA. _scalarise (f, [0.2 , 0.8 ])
172+ @test isapprox (g, 0.2 * x[1 ] + 0.8 * x[2 ])
173+ return
174+ end
175+
126176end
127177
128178TestModel. run_tests ()
0 commit comments