@@ -2179,6 +2179,44 @@ function test_deprecated_eval_term()
2179
2179
return
2180
2180
end
2181
2181
2182
+ function test_VectorAffineFunction_row_constructor ()
2183
+ x = MOI. VariableIndex (1 )
2184
+ f = MOI. VectorAffineFunction ([1.0 * x + 2.0 , 3.0 * x + 4.0 ])
2185
+ g = MOI. VectorAffineFunction (
2186
+ MOI. VectorAffineTerm{Float64}[
2187
+ MOI. VectorAffineTerm (1 , MOI. ScalarAffineTerm (1.0 , x)),
2188
+ MOI. VectorAffineTerm (2 , MOI. ScalarAffineTerm (3.0 , x)),
2189
+ ],
2190
+ [2.0 , 4.0 ],
2191
+ )
2192
+ @test f ≈ g
2193
+ return
2194
+ end
2195
+
2196
+ function test_VectorQuadraticFunction_row_constructor ()
2197
+ x, y = MOI. VariableIndex .(1 : 2 )
2198
+ row1 = 1.0 * x * x + 1.0 * y * y + 2.0 * x + 3.0 * y + 4.2
2199
+ row2 = 3.0 * x * x + 3.0 * y * y + 1.0 * x + 3.0 * y + 1.2
2200
+ f = MOI. VectorQuadraticFunction ([row1, row2])
2201
+ @test f ≈ MOI. Utilities. vectorize ([row1, row2])
2202
+ @test f ≈ MOI. VectorQuadraticFunction (
2203
+ [
2204
+ MOI. VectorQuadraticTerm (1 , MOI. ScalarQuadraticTerm (2.0 , x, x)),
2205
+ MOI. VectorQuadraticTerm (1 , MOI. ScalarQuadraticTerm (2.0 , y, y)),
2206
+ MOI. VectorQuadraticTerm (2 , MOI. ScalarQuadraticTerm (6.0 , x, x)),
2207
+ MOI. VectorQuadraticTerm (2 , MOI. ScalarQuadraticTerm (6.0 , y, y)),
2208
+ ],
2209
+ [
2210
+ MOI. VectorAffineTerm (1 , MOI. ScalarAffineTerm (2.0 , x)),
2211
+ MOI. VectorAffineTerm (1 , MOI. ScalarAffineTerm (3.0 , y)),
2212
+ MOI. VectorAffineTerm (2 , MOI. ScalarAffineTerm (1.0 , x)),
2213
+ MOI. VectorAffineTerm (2 , MOI. ScalarAffineTerm (3.0 , y)),
2214
+ ],
2215
+ [4.2 , 1.2 ],
2216
+ )
2217
+ return
2218
+ end
2219
+
2182
2220
end # module
2183
2221
2184
2222
TestUtilitiesFunctions. runtests ()
0 commit comments