20 #include <boost/test/unit_test.hpp>
21 #include <boost/utility/binary.hpp>
27 BOOST_AUTO_TEST_SUITE(BOOST_TEST_MODULE)
30 std::cout <<
"test_constraint_bounds\n";
32 using namespace Eigen;
33 const unsigned int n = 5;
35 VectorXd
lb = -1.0 * VectorXd::Ones(
n);
36 VectorXd
ub = VectorXd::Ones(
n);
39 BOOST_CHECK(
bounds.isBound());
40 BOOST_CHECK(!
bounds.isEquality());
41 BOOST_CHECK(!
bounds.isInequality());
43 BOOST_CHECK(
bounds.rows() ==
n);
44 BOOST_CHECK(
bounds.cols() ==
n);
46 BOOST_CHECK(
lb.isApprox(
bounds.lowerBound()));
47 BOOST_CHECK(
ub.isApprox(
bounds.upperBound()));
50 BOOST_CHECK(!
lb.isApprox(
bounds.lowerBound()));
52 BOOST_CHECK(
lb.isApprox(
bounds.lowerBound()));
55 BOOST_CHECK(!
ub.isApprox(
bounds.upperBound()));
57 BOOST_CHECK(
ub.isApprox(
bounds.upperBound()));
62 using namespace Eigen;
65 const unsigned int n = 5;
66 const unsigned int m = 2;
68 MatrixXd
A = MatrixXd::Ones(
m,
n);
69 VectorXd
b = VectorXd::Ones(
m);
74 BOOST_CHECK(!
equality.isInequality());
79 BOOST_CHECK(
A.isApprox(
equality.matrix()));
80 BOOST_CHECK(
b.isApprox(
equality.vector()));
83 BOOST_CHECK(!
b.isApprox(
equality.vector()));
85 BOOST_CHECK(
b.isApprox(
equality.vector()));
88 BOOST_CHECK(!
A.isApprox(
equality.matrix()));
90 BOOST_CHECK(
A.isApprox(
equality.matrix()));
95 using namespace Eigen;
98 const unsigned int n = 5;
99 const unsigned int m = 2;
101 MatrixXd
A = MatrixXd::Ones(
m,
n);
102 VectorXd
lb = -1.0 * VectorXd::Ones(
m);
103 VectorXd
ub = VectorXd::Ones(
m);
128 BOOST_AUTO_TEST_SUITE_END()