Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvng <viktor.govako@gmail.com>2011-10-06 00:34:37 +0400
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:25:13 +0300
commit820a59c8f02e95be29ac780d9294d49a0867d8ae (patch)
tree954ece1b2ea0dbc2eeff2dd5a63f6cdd5e169551 /generator/generator_tests/tesselator_test.cpp
parent0b2fc2f1429f294d47446e4feb35e9f9951a8047 (diff)
Add more tesselator tests for odd triangulation.
Diffstat (limited to 'generator/generator_tests/tesselator_test.cpp')
-rw-r--r--generator/generator_tests/tesselator_test.cpp40
1 files changed, 34 insertions, 6 deletions
diff --git a/generator/generator_tests/tesselator_test.cpp b/generator/generator_tests/tesselator_test.cpp
index ad155001f1..30dea69273 100644
--- a/generator/generator_tests/tesselator_test.cpp
+++ b/generator/generator_tests/tesselator_test.cpp
@@ -24,22 +24,50 @@ namespace
}
};
- size_t RunTess(P const * arr, size_t count)
+ size_t RunTest(list<vector<P> > const & l)
{
- list<vector<P> > l;
- l.push_back(vector<P>());
- l.back().assign(arr, arr + count);
-
tesselator::TrianglesInfo info;
tesselator::TesselateInterior(l, info);
+ size_t count;
info.ForEachTriangle(DoDump(count));
return count;
}
+
+ size_t RunTess(P const * arr, size_t count)
+ {
+ list<vector<P> > l;
+ l.push_back(vector<P>());
+ l.back().assign(arr, arr + count);
+
+ return RunTest(l);
+ }
}
-UNIT_TEST(TesselatorSelfISect_Smoke)
+UNIT_TEST(Tesselator_SelfISect)
{
P arr[] = { P(0, 0), P(0, 4), P(4, 4), P(1, 1), P(1, 3), P(4, 0), P(0, 0) };
TEST_EQUAL(6, RunTess(arr, ARRAY_SIZE(arr)), ());
}
+
+UNIT_TEST(Tesselator_Odd)
+{
+ P arr[] = { P(-100, -100), P(100, 100), P(100, -100) };
+
+ size_t const count = ARRAY_SIZE(arr);
+
+ list<vector<P> > l;
+ l.push_back(vector<P>());
+ l.back().assign(arr, arr + count);
+ l.push_back(vector<P>());
+ l.back().assign(arr, arr + count);
+
+ TEST_EQUAL(0, RunTest(l), ());
+
+ P arr1[] = { P(-100, -100), P(100, -100), P(100, 100), P(-100, 100) };
+
+ l.push_back(vector<P>());
+ l.back().assign(arr1, arr1 + ARRAY_SIZE(arr1));
+
+ TEST_EQUAL(2, RunTest(l), ());
+}