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>2015-08-12 13:36:25 +0300
committerAlex Zolotarev <alex@maps.me>2015-09-23 03:03:05 +0300
commitb6eabd2c962c02a1c84557258ca5d3dc3f6db64e (patch)
treea249d7c9435a1032c540f85a8be3763ff8d4bda6 /geometry/geometry_tests
parent6af983a48219ad70df7ccd93a737f84e03d314ab (diff)
[geometry] Added area calculation functions.
Diffstat (limited to 'geometry/geometry_tests')
-rw-r--r--geometry/geometry_tests/polygon_test.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/geometry/geometry_tests/polygon_test.cpp b/geometry/geometry_tests/polygon_test.cpp
index 3e677afdbc..8fd6d5970d 100644
--- a/geometry/geometry_tests/polygon_test.cpp
+++ b/geometry/geometry_tests/polygon_test.cpp
@@ -1,7 +1,8 @@
#include "testing/testing.hpp"
-#include "geometry/polygon.hpp"
#include "geometry/point2d.hpp"
+#include "geometry/polygon.hpp"
+#include "geometry/triangle2d.hpp"
#include "base/macros.hpp"
@@ -159,6 +160,22 @@ UNIT_TEST(IsPolygonCCW_DataSet)
TestPolygonOrReverseCCW(arr, arr + ARRAY_SIZE(arr));
}
+UNIT_TEST(PolygonArea_Smoke)
+{
+ {
+ P arr[] = { P (-1, 0), P(0, 1), P(1, -1) };
+ TEST_ALMOST_EQUAL_ULPS(m2::GetTriangleArea(arr[0], arr[1], arr[2]),
+ GetPolygonArea(arr, arr + ARRAY_SIZE(arr)), ());
+ }
+
+ {
+ P arr[] = { P (-5, -7), P(-3.5, 10), P(7.2, 5), P(14, -6.4) };
+ TEST_ALMOST_EQUAL_ULPS(m2::GetTriangleArea(arr[0], arr[1], arr[2]) +
+ m2::GetTriangleArea(arr[2], arr[3], arr[0]),
+ GetPolygonArea(arr, arr + ARRAY_SIZE(arr)), ());
+ }
+}
+
// This polygon has self-intersections.
/*
UNIT_TEST(IsPolygonCCW_DataSet2)