51{
53
54 {
55
56 unsigned int curRow = 0;
57 unsigned int curColumn = 0;
58 std::tie(curRow, curColumn) = Policy::Advance(3, 3, curRow, curColumn);
59 BOOST_CHECK_EQUAL(0u, curRow);
60 BOOST_CHECK_EQUAL(1u, curColumn);
61
62 std::tie(curRow, curColumn) = Policy::Advance(3, 3, curRow, curColumn);
63 BOOST_CHECK_EQUAL(1u, curRow);
64 BOOST_CHECK_EQUAL(1u, curColumn);
65
66 std::tie(curRow, curColumn) = Policy::Advance(3, 3, curRow, curColumn);
67 BOOST_CHECK_EQUAL(0u, curRow);
68 BOOST_CHECK_EQUAL(2u, curColumn);
69
70 std::tie(curRow, curColumn) = Policy::Advance(3, 3, curRow, curColumn);
71 BOOST_CHECK_EQUAL(1u, curRow);
72 BOOST_CHECK_EQUAL(2u, curColumn);
73
74 std::tie(curRow, curColumn) = Policy::Advance(3, 3, curRow, curColumn);
75 BOOST_CHECK_EQUAL(2u, curRow);
76 BOOST_CHECK_EQUAL(2u, curColumn);
77
78 std::tie(curRow, curColumn) = Policy::Advance(3, 3, curRow, curColumn);
79 BOOST_CHECK_EQUAL(std::numeric_limits<unsigned int>::max(), curRow);
80 BOOST_CHECK_EQUAL(std::numeric_limits<unsigned int>::max(), curColumn);
81 }
82
83 {
84
85 unsigned int curRow = 0;
86 unsigned int curColumn = 0;
87 std::tie(curRow, curColumn) = Policy::Advance(1, 1, curRow, curColumn);
88 BOOST_CHECK_EQUAL(std::numeric_limits<unsigned int>::max(), curRow);
89 BOOST_CHECK_EQUAL(std::numeric_limits<unsigned int>::max(), curColumn);
90 }
91
92 {
93
94 unsigned int curRow = 0;
95 unsigned int curColumn = 0;
96 std::tie(curRow, curColumn) = Policy::Advance(2, 2, curRow, curColumn);
97 BOOST_CHECK_EQUAL(0u, curRow);
98 BOOST_CHECK_EQUAL(1u, curColumn);
99
100 std::tie(curRow, curColumn) = Policy::Advance(2, 2, curRow, curColumn);
101 BOOST_CHECK_EQUAL(1u, curRow);
102 BOOST_CHECK_EQUAL(1u, curColumn);
103
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);
107 }
108}
void RedirectCerrIfNeeded()