60{
63
64 {
65 unsigned int curRow = 0;
66 unsigned int curColumn = 0;
67 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
68 BOOST_CHECK_EQUAL(1u, curRow);
69 BOOST_CHECK_EQUAL(0u, curColumn);
70
71 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
72 BOOST_CHECK_EQUAL(2u, curRow);
73 BOOST_CHECK_EQUAL(0u, curColumn);
74
75 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
76 BOOST_CHECK_EQUAL(3u, curRow);
77 BOOST_CHECK_EQUAL(0u, curColumn);
78
79 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
80 BOOST_CHECK_EQUAL(0u, curRow);
81 BOOST_CHECK_EQUAL(1u, curColumn);
82
83 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
84 BOOST_CHECK_EQUAL(1u, curRow);
85 BOOST_CHECK_EQUAL(1u, curColumn);
86
87 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
88 BOOST_CHECK_EQUAL(2u, curRow);
89 BOOST_CHECK_EQUAL(1u, curColumn);
90
91 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
92 BOOST_CHECK_EQUAL(3u, curRow);
93 BOOST_CHECK_EQUAL(1u, curColumn);
94
95 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
96 BOOST_CHECK_EQUAL(0u, curRow);
97 BOOST_CHECK_EQUAL(2u, curColumn);
98
99 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
100 BOOST_CHECK_EQUAL(1u, curRow);
101 BOOST_CHECK_EQUAL(2u, curColumn);
102
103 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
104 BOOST_CHECK_EQUAL(2u, curRow);
105 BOOST_CHECK_EQUAL(2u, curColumn);
106
107 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
108 BOOST_CHECK_EQUAL(3u, curRow);
109 BOOST_CHECK_EQUAL(2u, curColumn);
110
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);
114 }
115
116 {
117
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);
123 }
124}
void RedirectCerrIfNeeded()