20 #include <boost/test/unit_test.hpp>
39 BOOST_AUTO_TEST_SUITE(BOOST_TEST_MODULE)
44 Eigen::MatrixXd Q(2, 2);
52 Eigen::MatrixXd Aeq(2, 0);
54 Eigen::VectorXd Beq(0);
56 Eigen::MatrixXd Aineq(2, 0);
58 Eigen::VectorXd Bineq(0);
61 Eigen::VectorXi activeSet(0);
64 Eigen::VectorXd solution(2);
70 x, activeSet, activeSetSize);
72 BOOST_CHECK_CLOSE(out, val, 1e-6);
74 BOOST_CHECK(x.isApprox(solution));
80 Eigen::MatrixXd Q(2, 2);
89 Eigen::MatrixXd Aeq(2, 0);
91 Eigen::VectorXd Beq(0);
93 Eigen::MatrixXd Aineq(2, 0);
95 Eigen::VectorXd Bineq(0);
98 Eigen::VectorXi activeSet(0);
101 Eigen::VectorXd solution(2);
108 x, activeSet, activeSetSize);
110 BOOST_CHECK_CLOSE(out, val, 1e-6);
112 BOOST_CHECK(x.isApprox(solution));
120 Eigen::MatrixXd Q(2, 2);
125 Eigen::VectorXd C(2);
128 Eigen::MatrixXd Aeq(2, 1);
132 Eigen::VectorXd Beq(1);
135 Eigen::MatrixXd Aineq(2, 0);
137 Eigen::VectorXd Bineq(0);
139 Eigen::VectorXd x(2);
140 Eigen::VectorXi activeSet(1);
141 size_t activeSetSize;
143 Eigen::VectorXd solution(2);
150 x, activeSet, activeSetSize);
152 BOOST_CHECK_CLOSE(out, val, 1e-6);
154 BOOST_CHECK(x.isApprox(solution));
162 Eigen::MatrixXd Q(2, 2);
167 Eigen::VectorXd C(2);
170 Eigen::MatrixXd Aeq(2, 0);
172 Eigen::VectorXd Beq(0);
174 Eigen::MatrixXd Aineq(2, 2);
179 Eigen::VectorXd Bineq(2);
183 Eigen::VectorXd x(2);
184 Eigen::VectorXi activeSet(2);
185 size_t activeSetSize;
187 Eigen::VectorXd solution(2);
194 x, activeSet, activeSetSize);
196 BOOST_CHECK_CLOSE(out, val, 1e-6);
198 BOOST_CHECK(x.isApprox(solution));
207 Eigen::MatrixXd Q(2, 2);
212 Eigen::VectorXd C(2);
216 Eigen::MatrixXd Aeq(2, 1);
220 Eigen::VectorXd Beq(1);
223 Eigen::MatrixXd Aineq(2, 1);
227 Eigen::VectorXd Bineq(1);
230 Eigen::VectorXd x(2);
231 Eigen::VectorXi activeSet(2);
232 size_t activeSetSize;
234 Eigen::VectorXd solution(2);
241 x, activeSet, activeSetSize);
243 BOOST_CHECK_CLOSE(out, val, 1e-6);
245 BOOST_CHECK(x.isApprox(solution));
255 Eigen::MatrixXd Q(2, 2);
260 Eigen::VectorXd C(2);
263 Eigen::MatrixXd Aeq(2, 2);
268 Eigen::VectorXd Beq(2);
272 Eigen::MatrixXd Aineq(2, 0);
274 Eigen::VectorXd Bineq(0);
276 Eigen::VectorXd x(2);
277 Eigen::VectorXi activeSet(2);
278 size_t activeSetSize;
281 x, activeSet, activeSetSize);
284 BOOST_WARN(std::isinf(out));
293 Eigen::MatrixXd Q(2, 2);
298 Eigen::VectorXd C(2);
301 Eigen::MatrixXd Aeq(2, 0);
303 Eigen::VectorXd Beq(0);
305 Eigen::MatrixXd Aineq(2, 2);
310 Eigen::VectorXd Bineq(2);
314 Eigen::VectorXd x(2);
315 Eigen::VectorXi activeSet(2);
316 size_t activeSetSize;
319 x, activeSet, activeSetSize);
321 BOOST_CHECK(std::isinf(out));
331 Eigen::MatrixXd Q(2, 2);
336 Eigen::VectorXd C(2);
340 Eigen::MatrixXd Aeq(2, 1);
344 Eigen::VectorXd Beq(1);
347 Eigen::MatrixXd Aineq(2, 2);
352 Eigen::VectorXd Bineq(2);
355 Eigen::VectorXd x(2);
356 Eigen::VectorXi activeSet(3);
357 size_t activeSetSize;
360 x, activeSet, activeSetSize);
362 BOOST_CHECK(std::isinf(out));
369 Eigen::MatrixXd Q(2, 2);
374 Eigen::VectorXd C(2);
377 Eigen::MatrixXd Aeq(2, 0);
379 Eigen::VectorXd Beq(0);
381 Eigen::MatrixXd Aineq(2, 0);
383 Eigen::VectorXd Bineq(0);
385 Eigen::VectorXd x(2);
386 Eigen::VectorXi activeSet(0);
387 size_t activeSetSize;
390 x, activeSet, activeSetSize);
393 BOOST_WARN(std::isinf(out));
403 Eigen::MatrixXd Q(2, 2);
408 Eigen::VectorXd C(2);
411 Eigen::MatrixXd Aeq(2, 0);
413 Eigen::VectorXd Beq(0);
415 Eigen::MatrixXd Aineq(2, 4);
422 Eigen::VectorXd Bineq(4);
428 Eigen::VectorXd x(2);
429 Eigen::VectorXi activeSet(4);
430 size_t activeSetSize;
432 Eigen::VectorXd solution(2);
439 x, activeSet, activeSetSize);
442 BOOST_WARN_CLOSE(out, val, 1e-6);
444 BOOST_WARN(x.isApprox(solution));
447 BOOST_AUTO_TEST_SUITE_END()