#include #include #include #include namespace scwx { namespace util { std::vector area = { common::Coordinate(37.0193692, -91.8778413), common::Coordinate(36.9719180, -91.3006973), common::Coordinate(36.7270831, -91.6815753), }; TEST(geographic_lib, area_in_range_inside) { auto inside = common::Coordinate(36.9241584, -91.6425933); bool value; // inside is always true value = scwx::qt::util::GeographicLib::AreaInRangeOfPoint( area, inside, units::length::meters(0)); EXPECT_EQ(value, true); value = scwx::qt::util::GeographicLib::AreaInRangeOfPoint( area, inside, units::length::meters(1e6)); EXPECT_EQ(value, true); } TEST(geographic_lib, area_in_range_near) { auto near = common::Coordinate(36.8009181, -91.3922700); bool value; value = scwx::qt::util::GeographicLib::AreaInRangeOfPoint( area, near, units::length::meters(9000)); EXPECT_EQ(value, false); value = scwx::qt::util::GeographicLib::AreaInRangeOfPoint( area, near, units::length::meters(10100)); EXPECT_EQ(value, true); value = scwx::qt::util::GeographicLib::AreaInRangeOfPoint( area, near, units::length::meters(1e6)); EXPECT_EQ(value, true); } TEST(geographic_lib, area_in_range_far) { auto far = common::Coordinate(37.6481966, -94.2163834); bool value; value = scwx::qt::util::GeographicLib::AreaInRangeOfPoint( area, far, units::length::meters(9000)); EXPECT_EQ(value, false); value = scwx::qt::util::GeographicLib::AreaInRangeOfPoint( area, far, units::length::meters(10100)); EXPECT_EQ(value, false); value = scwx::qt::util::GeographicLib::AreaInRangeOfPoint( area, far, units::length::meters(100e3)); EXPECT_EQ(value, false); value = scwx::qt::util::GeographicLib::AreaInRangeOfPoint( area, far, units::length::meters(300e3)); EXPECT_EQ(value, true); } } // namespace util } // namespace scwx