#include <gtest/gtest.h> #include <convex_triangulation.h> #include <vector> TEST(ConvexTriangulationTests, Simple) { Point p1{1,3}; Point p2{2,2}; Point p3{3,2.1}; Point p4{4,3.2}; Point p5{2.1,4}; std::vector<Point> points = { p1, p2, p3, p4, p5 }; auto results = convexTriangulation(points, 2, std::make_shared<std::vector<int>>()); std::vector<Triangle> expected_result { Triangle(p1, p2, p3, 2), Triangle(p1, p3, p5, 2), Triangle(p5, p3, p4, 2) }; EXPECT_EQ(results, expected_result); } TEST(ConvexTriangulationTests, TrivialTriangle) { std::vector<Point> points = { {0,0}, {2,0}, {1.5, 2} }; auto results = convexTriangulation(points, 1, std::make_shared<std::vector<int>>()); Triangle expected_triangle = Triangle({0,0}, {2,0}, {1.5, 2}, 1); EXPECT_EQ(results.size(), 1); EXPECT_EQ(results[0], expected_triangle); }