7 #include <gtest/gtest.h>
10 TEST(fields2cover_types_linearring, init) {
12 EXPECT_EQ(ring1.
size(), 0);
16 EXPECT_EQ(ring1.
size(), 2);
19 EXPECT_EQ(ring2.size(), 3);
24 EXPECT_THROW(ring1.
getGeometry(100, error_p), std::out_of_range);
25 EXPECT_THROW(c_line.
getGeometry(100, error_p), std::out_of_range);
26 EXPECT_THROW(ring1.
getGeometry(100), std::out_of_range);
27 EXPECT_THROW(c_line.
getGeometry(100), std::out_of_range);
30 TEST(fields2cover_types_linearring, area) {
33 EXPECT_EQ(
ring.area(), 2);
36 TEST(fields2cover_types_linearring, mult_equal) {
40 EXPECT_EQ(
ring.size(), 3);
41 EXPECT_EQ(
ring.getGeometry(0).getX(), 10);
42 EXPECT_EQ(
ring.getGeometry(1).getX(), 30);
43 EXPECT_EQ(
ring.getGeometry(2).getX(), 10);
44 EXPECT_EQ(
ring.getY(0), 20);
45 EXPECT_EQ(
ring.getY(1), 20);
46 EXPECT_EQ(
ring.getY(2), 30);
47 EXPECT_EQ(
ring.getZ(2), 0);
49 auto p =
ring.endPoint();
50 EXPECT_EQ(p.getX(), -0.1);
51 EXPECT_EQ(p.getY(), -0.3);
52 EXPECT_EQ(p.getZ(), 0);
53 const auto ring2 =
ring.clone();
54 auto c_p = ring2.getGeometry(1);
55 EXPECT_EQ(c_p.getX(), -0.3);
56 EXPECT_EQ(c_p.getY(), -0.2);
60 TEST(fields2cover_types_linearring, loop) {
73 for (
auto&& p : line) {