35#include <boost/test/unit_test.hpp>
41#include <boost/test/tools/floating_point_comparison.hpp>
42#include <boost/test/unit_test.hpp>
46namespace UpperTriangularUnitTests
56 unsigned int curRow = 0;
57 unsigned int curColumn = 0;
59 BOOST_CHECK_EQUAL(0u, curRow);
60 BOOST_CHECK_EQUAL(1u, curColumn);
63 BOOST_CHECK_EQUAL(1u, curRow);
64 BOOST_CHECK_EQUAL(1u, curColumn);
67 BOOST_CHECK_EQUAL(0u, curRow);
68 BOOST_CHECK_EQUAL(2u, curColumn);
71 BOOST_CHECK_EQUAL(1u, curRow);
72 BOOST_CHECK_EQUAL(2u, curColumn);
75 BOOST_CHECK_EQUAL(2u, curRow);
76 BOOST_CHECK_EQUAL(2u, curColumn);
79 BOOST_CHECK_EQUAL(std::numeric_limits<unsigned int>::max(), curRow);
80 BOOST_CHECK_EQUAL(std::numeric_limits<unsigned int>::max(), curColumn);
85 unsigned int curRow = 0;
86 unsigned int curColumn = 0;
88 BOOST_CHECK_EQUAL(std::numeric_limits<unsigned int>::max(), curRow);
89 BOOST_CHECK_EQUAL(std::numeric_limits<unsigned int>::max(), curColumn);
94 unsigned int curRow = 0;
95 unsigned int curColumn = 0;
97 BOOST_CHECK_EQUAL(0u, curRow);
98 BOOST_CHECK_EQUAL(1u, curColumn);
100 std::tie(curRow, curColumn) =
Policy::Advance(2, 2, curRow, curColumn);
101 BOOST_CHECK_EQUAL(1u, curRow);
102 BOOST_CHECK_EQUAL(1u, curColumn);
104 std::tie(curRow, curColumn) =
Policy::Advance(2, 2, curRow, curColumn);
105 BOOST_CHECK_EQUAL(std::numeric_limits<unsigned int>::max(), curRow);
106 BOOST_CHECK_EQUAL(std::numeric_limits<unsigned int>::max(), curColumn);
void RedirectCerrIfNeeded()
UpperTriangularMatrixFuncs Policy
BOOST_AUTO_TEST_CASE(TestAdvanceUpperTriangular)
The above copyright notice and this permission notice shall be included.
static std::tuple< unsigned int, unsigned int > Advance(const unsigned int totalRows, const unsigned int totalColumns, const unsigned int curRow, const unsigned int curColumn)