| 8 | #include "fields2cover/types.h" |
| 9 | |
| 10 | TEST(fields2cover_types_linearring, init) { |
| 11 | F2CLinearRing ring1; |
| 12 | EXPECT_EQ(ring1.size(), 0); |
| 13 | |
| 14 | ring1.addPoint(1,1); |
| 15 | ring1.addPoint(2,1); |
| 16 | EXPECT_EQ(ring1.size(), 2); |
| 17 | |
| 18 | F2CLinearRing ring2{F2CPoint(1,2), F2CPoint(3,2), F2CPoint(1,3)}; |
| 19 | EXPECT_EQ(ring2.size(), 3); |
| 20 | |
| 21 | |
| 22 | F2CPoint error_p; |
| 23 | const F2CLinearRing c_line = ring1.clone(); |
| 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); |
| 28 | } |
| 29 | |
| 30 | TEST(fields2cover_types_linearring, area) { |
| 31 | std::vector<F2CPoint> ps{F2CPoint(-1,2), F2CPoint(3,2), F2CPoint(-1,3), F2CPoint(-1,2)}; |