EXPECT_LT(expect_right, data.num_tiles_x());
EXPECT_LT(expect_bottom, data.num_tiles_y());
- std::vector<std::pair<int, int> > original_expected;
+ std::vector<std::pair<int, int>> original_expected;
for (int x = 0; x < data.num_tiles_x(); ++x) {
for (int y = 0; y < data.num_tiles_y(); ++y) {
gfx::Rect bounds;
// Verify with vanilla iterator.
{
- std::vector<std::pair<int, int> > expected = original_expected;
+ std::vector<std::pair<int, int>> expected = original_expected;
for (TilingData::Iterator iter(&data, rect, include_borders); iter;
++iter) {
bool found = false;
// Make sure this also works with a difference iterator and an empty ignore.
// The difference iterator never includes borders, so ignore it otherwise.
if (!include_borders) {
- std::vector<std::pair<int, int> > expected = original_expected;
+ std::vector<std::pair<int, int>> expected = original_expected;
for (TilingData::DifferenceIterator iter(&data, rect, gfx::Rect()); iter;
++iter) {
bool found = false;
gfx::Rect consider,
gfx::Rect ignore,
size_t num_tiles) {
- std::vector<std::pair<int, int> > expected;
+ std::vector<std::pair<int, int>> expected;
for (int y = 0; y < data.num_tiles_y(); ++y) {
for (int x = 0; x < data.num_tiles_x(); ++x) {
gfx::Rect bounds = data.TileBounds(x, y);
const gfx::Rect& consider,
const gfx::Rect& ignore,
const gfx::Rect& center,
- const std::vector<std::pair<int, int> >& expected) {
- std::vector<std::pair<int, int> > actual;
+ const std::vector<std::pair<int, int>>& expected) {
+ std::vector<std::pair<int, int>> actual_forward;
for (TilingData::SpiralDifferenceIterator it(
&tiling_data, consider, ignore, center);
it;
++it) {
- actual.push_back(it.index());
+ actual_forward.push_back(it.index());
}
- EXPECT_EQ(expected.size(), actual.size()) << "error from line "
- << source_line_number;
- for (size_t i = 0; i < std::min(expected.size(), actual.size()); ++i) {
- EXPECT_EQ(expected[i].first, actual[i].first)
+ EXPECT_EQ(expected.size(), actual_forward.size()) << "error from line "
+ << source_line_number;
+ for (size_t i = 0; i < std::min(expected.size(), actual_forward.size());
+ ++i) {
+ EXPECT_EQ(expected[i].first, actual_forward[i].first)
<< "i: " << i << " error from line: " << source_line_number;
- EXPECT_EQ(expected[i].second, actual[i].second)
+ EXPECT_EQ(expected[i].second, actual_forward[i].second)
+ << "i: " << i << " error from line: " << source_line_number;
+ }
+
+ std::vector<std::pair<int, int>> actual_reverse;
+ for (TilingData::ReverseSpiralDifferenceIterator it(
+ &tiling_data, consider, ignore, center);
+ it;
+ ++it) {
+ actual_reverse.push_back(it.index());
+ }
+
+ std::vector<std::pair<int, int>> reversed_expected = expected;
+ std::reverse(reversed_expected.begin(), reversed_expected.end());
+ EXPECT_EQ(reversed_expected.size(), actual_reverse.size())
+ << "error from line " << source_line_number;
+ for (size_t i = 0;
+ i < std::min(reversed_expected.size(), actual_reverse.size());
+ ++i) {
+ EXPECT_EQ(reversed_expected[i].first, actual_reverse[i].first)
+ << "i: " << i << " error from line: " << source_line_number;
+ EXPECT_EQ(reversed_expected[i].second, actual_reverse[i].second)
<< "i: " << i << " error from line: " << source_line_number;
}
}
TilingData tiling_data(gfx::Size(10, 10), gfx::Size(30, 30), false);
gfx::Rect consider(30, 30);
gfx::Rect ignore;
- std::vector<std::pair<int, int> > expected;
+ std::vector<std::pair<int, int>> expected;
// Center is in the center of the tiling.
gfx::Rect center(15, 15, 1, 1);
TEST(TilingDataTest, SpiralDifferenceIteratorSmallConsider) {
TilingData tiling_data(gfx::Size(10, 10), gfx::Size(50, 50), false);
gfx::Rect ignore;
- std::vector<std::pair<int, int> > expected;
+ std::vector<std::pair<int, int>> expected;
gfx::Rect center(15, 15, 1, 1);
// Consider is one cell.
TEST(TilingDataTest, SpiralDifferenceIteratorHasIgnore) {
TilingData tiling_data(gfx::Size(10, 10), gfx::Size(50, 50), false);
gfx::Rect consider(50, 50);
- std::vector<std::pair<int, int> > expected;
+ std::vector<std::pair<int, int>> expected;
gfx::Rect center(15, 15, 1, 1);
// Full ignore.
TEST(TilingDataTest, SpiralDifferenceIteratorRectangleCenter) {
TilingData tiling_data(gfx::Size(10, 10), gfx::Size(50, 50), false);
gfx::Rect consider(50, 50);
- std::vector<std::pair<int, int> > expected;
+ std::vector<std::pair<int, int>> expected;
gfx::Rect ignore;
// Two cell center
TEST(TilingDataTest, SpiralDifferenceIteratorEdgeCases) {
TilingData tiling_data(gfx::Size(10, 10), gfx::Size(30, 30), false);
- std::vector<std::pair<int, int> > expected;
+ std::vector<std::pair<int, int>> expected;
gfx::Rect center;
gfx::Rect consider;
gfx::Rect ignore;