MCPcopy Create free account
hub / github.com/Fields2Cover/Fields2Cover / TEST

Function TEST

tests/cpp/types/LineString_test.cpp:10–53  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8#include "fields2cover/types.h"
9
10TEST(fields2cover_types_linestring, init) {
11 F2CLineString line1;
12 line1.addPoint(1,1);
13 line1.addPoint(2,1);
14 EXPECT_EQ(line1.size(), 2);
15 F2CLineString line2({F2CPoint(1,2), F2CPoint(3,2), F2CPoint(1,3)});
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);
22 F2CLineString line3{F2CPoint(2,3)};
23 EXPECT_EQ(line3.size(), 1);
24 EXPECT_EQ(line3.getX(0), 2);
25 const F2CPoint p {20, 30};
26 F2CLineString line4{p};
27 EXPECT_EQ(line4.size(), 1);
28 auto p2 = line4.getGeometry(0);
29 EXPECT_EQ(p2.getX(), 20);
30 EXPECT_EQ(p2.getY(), 30);
31 F2CLineString line5(std::vector<F2CPoint>({F2CPoint(1,2), F2CPoint(3,2), F2CPoint(1,3)}));
32 EXPECT_EQ(line5.size(), 3);
33 EXPECT_EQ(line5.getX(0), 1);
34 EXPECT_EQ(line5.getX(1), 3);
35
36 F2CLineString line6(static_cast<OGRGeometry*>(line5.get()), f2c::types::EmptyDestructor());
37 EXPECT_EQ(line6.size(), 3);
38 EXPECT_EQ(line6.getX(0), 1);
39 EXPECT_EQ(line6.getX(1), 3);
40
41 OGRLineString ogr_line = *(line5.get());
42 F2CLineString line7(ogr_line);
43 EXPECT_EQ(line7.size(), 3);
44 EXPECT_EQ(line7.getX(0), 1);
45 EXPECT_EQ(line7.getX(1), 3);
46
47 F2CPoint error_p;
48 const F2CLineString c_line = line7.clone();
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);
53}
54
55TEST(fields2cover_types_linestring, loop) {
56 F2CLineString line(std::vector<F2CPoint>({F2CPoint(1,2), F2CPoint(3,4), F2CPoint(5,6)}));

Callers

nothing calls this directly

Calls 14

EmptyDestructorClass · 0.85
getMethod · 0.80
startAngleMethod · 0.80
endAngleMethod · 0.80
addPointMethod · 0.45
sizeMethod · 0.45
getXMethod · 0.45
XMethod · 0.45
YMethod · 0.45
ZMethod · 0.45
getGeometryMethod · 0.45
getYMethod · 0.45

Tested by

no test coverage detected