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