|
1 | 1 | #include <boost/test/unit_test.hpp> |
2 | 2 |
|
| 3 | +#include <algorithm> |
| 4 | + |
3 | 5 | #include "scippp/model.hpp" |
4 | 6 | #include "scippp/solving_statistics.hpp" |
5 | 7 |
|
@@ -98,4 +100,28 @@ BOOST_AUTO_TEST_CASE(AddInitializerList) |
98 | 100 | BOOST_TEST(model.getSolvingStatistic(statistics::PRIMALBOUND) == 1); |
99 | 101 | } |
100 | 102 |
|
| 103 | +BOOST_AUTO_TEST_CASE(CheckInternalsUsingFriendStruct) |
| 104 | +{ |
| 105 | + const double VAL { 2.0 }; |
| 106 | + for (size_t num { 1 }; num < 4; ++num) { |
| 107 | + Model m("m"); |
| 108 | + const auto VARS = m.addVars("x", num); |
| 109 | + |
| 110 | + LinExpr lDef(VARS); |
| 111 | + BOOST_TEST(lDef.getConstant() == 0); |
| 112 | + BOOST_TEST(lDef.m_constant == 0); |
| 113 | + BOOST_TEST(lDef.m_vars.size() == num); |
| 114 | + BOOST_TEST(lDef.m_coeffs.size() == num); |
| 115 | + BOOST_TEST(all_of(lDef.m_coeffs.begin(), lDef.m_coeffs.end(), [](double d) { return d == 1; })); |
| 116 | + |
| 117 | + const vector COEFF(num, VAL); |
| 118 | + LinExpr lCoeff(VARS, COEFF); |
| 119 | + BOOST_TEST(lCoeff.getConstant() == 0); |
| 120 | + BOOST_TEST(lCoeff.m_constant == 0); |
| 121 | + BOOST_TEST(lCoeff.m_vars.size() == num); |
| 122 | + BOOST_TEST(lCoeff.m_coeffs.size() == num); |
| 123 | + BOOST_TEST(all_of(lCoeff.m_coeffs.begin(), lCoeff.m_coeffs.end(), [&VAL](double d) { return d == VAL; })); |
| 124 | + } |
| 125 | +} |
| 126 | + |
101 | 127 | BOOST_AUTO_TEST_SUITE_END() |
0 commit comments