8 #include <gtest/gtest.h>
10 #include <fields2cover.h>
18 :
public ::testing::TestWithParam<std::tuple<float_t, float_t, float_t>> {
22 auto params = GetParam();
23 auto x = std::get<0>(params);
24 auto y = std::get<1>(params);
25 auto z = std::get<2>(params);
26 conversor::GeometryMsgs::Point point;
36 auto params = GetParam();
37 auto x = std::get<0>(params);
38 auto y = std::get<1>(params);
39 auto z = std::get<2>(params);
40 conversor::GeometryMsgs::Point32 point;
50 ParametrizedToPointTest,
53 std::tuple<float_t, float_t, float_t>{0.0, 0.0, 0.0},
54 std::tuple<float_t, float_t, float_t>{1.2, 3.456, -7.9},
55 std::tuple<float_t, float_t, float_t>{20001.2787878, -3.456, -0.0}
60 :
public ::testing::Test {
64 F2CLinearRing outer_ring{
65 F2CPoint(0, 0), F2CPoint(2, 0), F2CPoint(2, 2), F2CPoint(0, 2), F2CPoint(0, 0)};
66 F2CLinearRing inner_ring{
67 F2CPoint(0.5, 0.5), F2CPoint(1.5, 0.5), F2CPoint(1.5, 1.5),
68 F2CPoint(0.5, 1.5), F2CPoint(0.5, 0.5)};
70 cell.addRing(outer_ring);
71 cell.addRing(inner_ring);
73 std::vector<conversor::GeometryMsgs::Polygon> polygons;
77 EXPECT_NEAR(polygons[0].points[0].x, 0,
FLOAT_TOL);
78 EXPECT_NEAR(polygons[0].points[0].y, 0,
FLOAT_TOL);
79 EXPECT_NEAR(polygons[0].points[1].x, 2,
FLOAT_TOL);
80 EXPECT_NEAR(polygons[0].points[1].y, 0,
FLOAT_TOL);
81 EXPECT_NEAR(polygons[0].points[2].x, 2,
FLOAT_TOL);
82 EXPECT_NEAR(polygons[0].points[2].y, 2,
FLOAT_TOL);
83 EXPECT_NEAR(polygons[0].points[3].x, 0,
FLOAT_TOL);
84 EXPECT_NEAR(polygons[0].points[3].y, 2,
FLOAT_TOL);
86 EXPECT_NEAR(polygons[1].points[0].x, 0.5,
FLOAT_TOL);
87 EXPECT_NEAR(polygons[1].points[0].y, 0.5,
FLOAT_TOL);
88 EXPECT_NEAR(polygons[1].points[1].x, 1.5,
FLOAT_TOL);
89 EXPECT_NEAR(polygons[1].points[1].y, 0.5,
FLOAT_TOL);
90 EXPECT_NEAR(polygons[1].points[2].x, 1.5,
FLOAT_TOL);
91 EXPECT_NEAR(polygons[1].points[2].y, 1.5,
FLOAT_TOL);
92 EXPECT_NEAR(polygons[1].points[3].x, 0.5,
FLOAT_TOL);
93 EXPECT_NEAR(polygons[1].points[3].y, 1.5,
FLOAT_TOL);
94 EXPECT_NEAR(polygons[1].points[4].x, 0.5,
FLOAT_TOL);
95 EXPECT_NEAR(polygons[1].points[4].y, 0.5,
FLOAT_TOL);