| 8 | #include "fields2cover/types.h" |
| 9 | |
| 10 | TEST(fields2cover_types_pathState, atEnd) { |
| 11 | F2CPathState ps; |
| 12 | ps.point = F2CPoint(1, 1); |
| 13 | ps.angle = 0.0; |
| 14 | ps.velocity = 2.0; |
| 15 | ps.len = 4.0; |
| 16 | ps.dir = f2c::types::PathDirection::FORWARD; |
| 17 | ps.type = f2c::types::PathSectionType::SWATH; |
| 18 | EXPECT_EQ(ps.atEnd(), F2CPoint(5,1)); |
| 19 | |
| 20 | ps.angle = M_PI*0.5; |
| 21 | EXPECT_NEAR(ps.atEnd().getX(), 1, 1e-7); |
| 22 | EXPECT_NEAR(ps.atEnd().getY(), 5, 1e-7); |
| 23 | |
| 24 | ps.dir = f2c::types::PathDirection::BACKWARD; |
| 25 | EXPECT_NEAR(ps.atEnd().getX(), 1, 1e-7); |
| 26 | EXPECT_NEAR(ps.atEnd().getY(), -3, 1e-7); |
| 27 | |
| 28 | ps.len = -4.0; |
| 29 | EXPECT_NEAR(ps.atEnd().getX(), 1, 1e-7); |
| 30 | EXPECT_NEAR(ps.atEnd().getY(), 5, 1e-7); |
| 31 | } |
| 32 | |
| 33 | |
| 34 | |