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