7 #include <gtest/gtest.h>
10 TEST(fields2cover_types_linestring, init) {
14 EXPECT_EQ(
line1.size(), 2);
16 EXPECT_EQ(
line2.size(), 3);
17 EXPECT_EQ(
line2.getX(0), 1);
18 EXPECT_EQ(
line2.getX(1), 3);
19 EXPECT_EQ(
line2.X(1), 3);
20 EXPECT_EQ(
line2.Y(1), 2);
21 EXPECT_EQ(
line2.Z(1), 0);
23 EXPECT_EQ(line3.size(), 1);
24 EXPECT_EQ(line3.getX(0), 2);
27 EXPECT_EQ(line4.size(), 1);
28 auto p2 = line4.getGeometry(0);
29 EXPECT_EQ(
p2.getX(), 20);
30 EXPECT_EQ(
p2.getY(), 30);
32 EXPECT_EQ(line5.
size(), 3);
33 EXPECT_EQ(line5.
getX(0), 1);
34 EXPECT_EQ(line5.
getX(1), 3);
37 EXPECT_EQ(line6.
size(), 3);
38 EXPECT_EQ(line6.
getX(0), 1);
39 EXPECT_EQ(line6.
getX(1), 3);
41 OGRLineString ogr_line = *(line5.
get());
43 EXPECT_EQ(line7.
size(), 3);
44 EXPECT_EQ(line7.
getX(0), 1);
45 EXPECT_EQ(line7.
getX(1), 3);
49 EXPECT_THROW(line7.
getGeometry(100, error_p), std::out_of_range);
50 EXPECT_THROW(c_line.
getGeometry(100, error_p), std::out_of_range);
51 EXPECT_THROW(line7.
getGeometry(100), std::out_of_range);
52 EXPECT_THROW(c_line.
getGeometry(100), std::out_of_range);
55 TEST(fields2cover_types_linestring, loop) {
68 for (
auto&& p : line) {
73 for (
auto&& p : line) {
79 EXPECT_EQ(line.getX(0), -1);
80 EXPECT_EQ(line.getY(0), -2);
84 TEST(fields2cover_types_linestring, closestPointTo) {
92 TEST(fields2cover_types_linestring, startAngle_and_endAngle) {
95 EXPECT_NEAR(line.
startAngle(), 0.25*M_PI, 1e-3);
96 EXPECT_NEAR(line.
endAngle(), 1.5*M_PI, 1e-3);