62{
65
66 {
67 unsigned int curRow = 0;
68 unsigned int curColumn = 0;
69 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
70 BOOST_CHECK_EQUAL(1u, curRow);
71 BOOST_CHECK_EQUAL(0u, curColumn);
72
73 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
74 BOOST_CHECK_EQUAL(2u, curRow);
75 BOOST_CHECK_EQUAL(0u, curColumn);
76
77 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
78 BOOST_CHECK_EQUAL(3u, curRow);
79 BOOST_CHECK_EQUAL(0u, curColumn);
80
81 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
82 BOOST_CHECK_EQUAL(0u, curRow);
83 BOOST_CHECK_EQUAL(1u, curColumn);
84
85 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
86 BOOST_CHECK_EQUAL(1u, curRow);
87 BOOST_CHECK_EQUAL(1u, curColumn);
88
89 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
90 BOOST_CHECK_EQUAL(2u, curRow);
91 BOOST_CHECK_EQUAL(1u, curColumn);
92
93 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
94 BOOST_CHECK_EQUAL(3u, curRow);
95 BOOST_CHECK_EQUAL(1u, curColumn);
96
97 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
98 BOOST_CHECK_EQUAL(0u, curRow);
99 BOOST_CHECK_EQUAL(2u, curColumn);
100
101 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
102 BOOST_CHECK_EQUAL(1u, curRow);
103 BOOST_CHECK_EQUAL(2u, curColumn);
104
105 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
106 BOOST_CHECK_EQUAL(2u, curRow);
107 BOOST_CHECK_EQUAL(2u, curColumn);
108
109 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
110 BOOST_CHECK_EQUAL(3u, curRow);
111 BOOST_CHECK_EQUAL(2u, curColumn);
112
113 std::tie(curRow, curColumn) = Policy::Advance(4, 3, curRow, curColumn);
114 BOOST_CHECK_EQUAL(std::numeric_limits<unsigned int>::max(), curRow);
115 BOOST_CHECK_EQUAL(std::numeric_limits<unsigned int>::max(), curColumn);
116 }
117
118 {
119
120 unsigned int curRow = 0;
121 unsigned int curColumn = 0;
122 std::tie(curRow, curColumn) = Policy::Advance(1, 1, curRow, curColumn);
123 BOOST_CHECK_EQUAL(std::numeric_limits<unsigned int>::max(), curRow);
124 BOOST_CHECK_EQUAL(std::numeric_limits<unsigned int>::max(), curColumn);
125 }
126}
void RedirectCerrIfNeeded()