35#include <boost/test/unit_test.hpp>
40#include <boost/test/tools/floating_point_comparison.hpp>
41#include <boost/test/unit_test.hpp>
65 unsigned int curRow = 0;
66 unsigned int curColumn = 0;
68 BOOST_CHECK_EQUAL(1u, curRow);
69 BOOST_CHECK_EQUAL(0u, curColumn);
72 BOOST_CHECK_EQUAL(2u, curRow);
73 BOOST_CHECK_EQUAL(0u, curColumn);
76 BOOST_CHECK_EQUAL(3u, curRow);
77 BOOST_CHECK_EQUAL(0u, curColumn);
80 BOOST_CHECK_EQUAL(0u, curRow);
81 BOOST_CHECK_EQUAL(1u, curColumn);
84 BOOST_CHECK_EQUAL(1u, curRow);
85 BOOST_CHECK_EQUAL(1u, curColumn);
88 BOOST_CHECK_EQUAL(2u, curRow);
89 BOOST_CHECK_EQUAL(1u, curColumn);
92 BOOST_CHECK_EQUAL(3u, curRow);
93 BOOST_CHECK_EQUAL(1u, curColumn);
96 BOOST_CHECK_EQUAL(0u, curRow);
97 BOOST_CHECK_EQUAL(2u, curColumn);
100 BOOST_CHECK_EQUAL(1u, curRow);
101 BOOST_CHECK_EQUAL(2u, curColumn);
103 std::tie(curRow, curColumn) =
Policy::Advance(4, 3, curRow, curColumn);
104 BOOST_CHECK_EQUAL(2u, curRow);
105 BOOST_CHECK_EQUAL(2u, curColumn);
107 std::tie(curRow, curColumn) =
Policy::Advance(4, 3, curRow, curColumn);
108 BOOST_CHECK_EQUAL(3u, curRow);
109 BOOST_CHECK_EQUAL(2u, curColumn);
111 std::tie(curRow, curColumn) =
Policy::Advance(4, 3, curRow, curColumn);
112 BOOST_CHECK_EQUAL(std::numeric_limits<unsigned int>::max(), curRow);
113 BOOST_CHECK_EQUAL(std::numeric_limits<unsigned int>::max(), curColumn);
118 unsigned int curRow = 0;
119 unsigned int curColumn = 0;
120 std::tie(curRow, curColumn) =
Policy::Advance(1, 1, curRow, curColumn);
121 BOOST_CHECK_EQUAL(std::numeric_limits<unsigned int>::max(), curRow);
122 BOOST_CHECK_EQUAL(std::numeric_limits<unsigned int>::max(), curColumn);
BOOST_AUTO_TEST_CASE(TestCalculateIndex)
void RedirectCerrIfNeeded()
static std::tuple< unsigned int, unsigned int > Advance(const unsigned int totalRows, const unsigned int totalColumns, const unsigned int curRow, const unsigned int curColumn)
static unsigned int CalculateIndex(unsigned int totalRows, unsigned int totalColumns, unsigned int curRow, unsigned int curColumn)