diff options
author | Vladimir Byko-Ianko <v.bykoianko@corp.mail.ru> | 2015-01-16 18:00:47 +0300 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 02:36:29 +0300 |
commit | df256d265d532446b83e2297f49bb6abb35a1ef5 (patch) | |
tree | d56a22a1a8e31677f984ff8c6f273b42ae2a2771 /geometry/geometry_tests/point_test.cpp | |
parent | 45ddd3714cd6d108444f27579532ee677e49dfa2 (diff) |
Drawing turn-arrows under the navigation route was implemented.
Diffstat (limited to 'geometry/geometry_tests/point_test.cpp')
-rw-r--r-- | geometry/geometry_tests/point_test.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/geometry/geometry_tests/point_test.cpp b/geometry/geometry_tests/point_test.cpp index 609ce8c84d..71eaa24964 100644 --- a/geometry/geometry_tests/point_test.cpp +++ b/geometry/geometry_tests/point_test.cpp @@ -57,3 +57,31 @@ UNIT_TEST(PointInTriangle_EmptyTriangle) m2::PointD pt(27, 31); TEST(!m2::IsPointStrictlyInsideTriangle(m2::PointD(0, 16), pt, pt, pt), ()); } + +/// @todo add more tests +UNIT_TEST(ArrowPoints) +{ + m2::PointF p1, p2, p3; + + m2::ArrowPoints(m2::PointF(0, 0), m2::PointF(1, 0), 1.f, 1.f, p1, p2, p3); + TEST(m2::AlmostEqual(p1, m2::PointF(1.f, 1.f)), ()); + TEST(m2::AlmostEqual(p2, m2::PointF(2.f, 0.f)), ()); + TEST(m2::AlmostEqual(p3, m2::PointF(1.f, -1.f)), ()); + + m2::PointD d1, d2, d3; + m2::ArrowPoints(m2::PointD(-1., 2.), m2::PointD(-1., 100.), 2., 5., d1, d2, d3); + TEST(m2::AlmostEqual(d1, m2::PointD(-3.f, 100.f)), ()); + TEST(m2::AlmostEqual(d2, m2::PointD(-1.f, 105.f)), ()); + TEST(m2::AlmostEqual(d3, m2::PointD(1.f, 100.f)), ()); +} + +UNIT_TEST(PointAtSegment) +{ + m2::PointF p1, p2, p3; + + TEST(m2::AlmostEqual(m2::PointAtSegment(m2::PointF(0, 0), m2::PointF(1, 0), 0.5f), m2::PointF(0.5f, 0.f)), ()); + TEST(m2::AlmostEqual(m2::PointAtSegment(m2::PointF(0, 0), m2::PointF(0, 1), 0.3f), m2::PointF(0.f, 0.3f)), ()); + TEST(m2::AlmostEqual(m2::PointAtSegment(m2::PointD(0., 0.), m2::PointD(30., 40.), 5.), m2::PointD(3., 4.)), ()); + TEST(m2::AlmostEqual(m2::PointAtSegment(m2::PointF(-3, -4), m2::PointF(-30, -40), 5.f), m2::PointF(-6.f, -8.f)), ()); + TEST(m2::AlmostEqual(m2::PointAtSegment(m2::PointD(14., -48.), m2::PointD(70., -240.), 25.), m2::PointD(21., -72.)), ()); +} |