Skip to content

Commit ce73b38

Browse files
committed
[unittest] [eiquadprog-fast] test_unfeasible_equalities
1 parent fa14bb0 commit ce73b38

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

unittest/eiquadprog-fast.cpp

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,5 +251,45 @@ BOOST_AUTO_TEST_CASE ( test_full )
251251
BOOST_CHECK(x.isApprox(solution));
252252
}
253253

254+
// min ||x||^2
255+
// s.t.
256+
// x[0] = -1
257+
// x[0] = 1
258+
259+
BOOST_AUTO_TEST_CASE ( test_unfeasible_equalities )
260+
{
261+
EiquadprogFast qp;
262+
qp.reset(2,2,0);
263+
264+
Eigen::MatrixXd Q(2,2);
265+
Q.setZero();
266+
Q(0,0) = 1.0;
267+
Q(1,1) = 1.0;
268+
269+
Eigen::VectorXd C(2);
270+
C.setZero();
271+
272+
Eigen::MatrixXd Aeq(2,2);
273+
Aeq.setZero();
274+
Aeq(0,0) = 1.;
275+
Aeq(0,1) = 1.;
276+
277+
Eigen::VectorXd Beq(2);
278+
Beq(0) = -1.;
279+
Beq(1) = 1.;
280+
281+
Eigen::MatrixXd Aineq(0,2);
282+
283+
Eigen::VectorXd Bineq(0);
284+
285+
Eigen::VectorXd x(2);
286+
287+
EiquadprogFast_status expected = EIQUADPROG_FAST_REDUNDANT_EQUALITIES;
288+
289+
EiquadprogFast_status status = qp.solve_quadprog(Q, C, Aeq, Beq, Aineq, Bineq, x);
290+
291+
BOOST_CHECK(status==expected);
292+
}
293+
254294
BOOST_AUTO_TEST_SUITE_END ()
255295

0 commit comments

Comments
 (0)