Files
comaps/generator/generator_tests/cells_merger_tests.cpp
Konstantin Pastbin e3e4a1985a Organic Maps sources as of 02.04.2025 (fad26bbf22ac3da75e01e62aa01e5c8e11861005)
To expand with full Organic Maps and Maps.ME commits history run:
  git remote add om-historic [om-historic.git repo url]
  git fetch --tags om-historic
  git replace squashed-history historic-commits
2025-05-08 21:10:51 +07:00

70 lines
2.6 KiB
C++

#include "testing/testing.hpp"
#include "generator/cells_merger.hpp"
#include <vector>
namespace
{
UNIT_TEST(CellsMerger_Empty)
{
generator::cells_merger::CellsMerger merger({});
std::vector<m2::RectD> expected;
auto const result = merger.Merge();
TEST_EQUAL(result, expected, ());
}
UNIT_TEST(CellsMerger_One)
{
generator::cells_merger::CellsMerger merger({{{0.0, 0.0}, {1.0, 1.0}}});
std::vector<m2::RectD> expected{{{0.0, 0.0}, {1.0, 1.0}}};
auto const result = merger.Merge();
TEST_EQUAL(result, expected, ());
}
UNIT_TEST(CellsMerger_Two)
{
generator::cells_merger::CellsMerger merger({{{0.0, 0.0}, {1.0, 1.0}},
{{1.0, 0.0}, {2.0, 1.0}}});
std::vector<m2::RectD> expected{{{0.0, 0.0}, {1.0, 1.0}},
{{1.0, 0.0}, {2.0, 1.0}}};
auto const result = merger.Merge();
TEST_EQUAL(result, expected, ());
}
UNIT_TEST(CellsMerger_Four)
{
generator::cells_merger::CellsMerger merger({{{0.0, 0.0}, {1.0, 1.0}},
{{1.0, 0.0}, {2.0, 1.0}},
{{0.0, 1.0}, {1.0, 2.0}},
{{1.0, 1.0}, {2.0, 2.0}}});
std::vector<m2::RectD> expected{{{0.0, 0.0}, {2.0, 2.0}}};
auto const result = merger.Merge();
TEST_EQUAL(result, expected, ());
}
UNIT_TEST(CellsMerger_Six)
{
generator::cells_merger::CellsMerger merger({{{0.0, 0.0}, {1.0, 1.0}}, {{1.0, 0.0}, {2.0, 1.0}},
{{0.0, 1.0}, {1.0, 2.0}}, {{1.0, 1.0}, {2.0, 2.0}},
{{2.0, 0.0}, {3.0, 1.0}}, {{2.0, 1.0}, {3.0, 2.0}}});
std::vector<m2::RectD> expected{{{1.0, 0.0}, {3.0, 2.0}}, {{0.0, 0.0}, {1.0, 1.0}},
{{0.0, 1.0}, {1.0, 2.0}}};
auto const result = merger.Merge();
TEST_EQUAL(result, expected, ());
}
UNIT_TEST(CellsMerger_Eight)
{
generator::cells_merger::CellsMerger merger({{{0.0, 0.0}, {1.0, 1.0}}, {{1.0, 0.0}, {2.0, 1.0}},
{{0.0, 1.0}, {1.0, 2.0}}, {{1.0, 1.0}, {2.0, 2.0}},
{{2.0, 0.0}, {3.0, 1.0}}, {{2.0, 1.0}, {3.0, 2.0}},
{{3.0, 0.0}, {4.0, 1.0}}, {{3.0, 1.0}, {4.0, 2.0}}});
std::vector<m2::RectD> expected{{{1.0, 0.0}, {3.0, 2.0}}, {{0.0, 0.0}, {1.0, 1.0}},
{{0.0, 1.0}, {1.0, 2.0}}, {{3.0, 0.0}, {4.0, 1.0}},
{{3.0, 1.0}, {4.0, 2.0}}};
auto const result = merger.Merge();
TEST_EQUAL(result, expected, ());
}
} // namespace