diff options
author | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2017-04-11 17:07:25 +0300 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2017-04-14 12:33:13 -0700 |
commit | 2f4d162debd7e4accfc0b20360058304dce40801 (patch) | |
tree | 276894e2ccfa67874dbe6ecf263330d6b35007ad /test/util | |
parent | 8877452ec36d01a753221998f31b67700e595d54 (diff) | |
download | qtlocation-mapboxgl-2f4d162debd7e4accfc0b20360058304dce40801.tar.gz |
[core] Tighten geo.hpp ctors
Diffstat (limited to 'test/util')
-rw-r--r-- | test/util/geo.test.cpp | 69 | ||||
-rw-r--r-- | test/util/projection.test.cpp | 10 |
2 files changed, 74 insertions, 5 deletions
diff --git a/test/util/geo.test.cpp b/test/util/geo.test.cpp index 3f625f21fa..3dfa8e1cca 100644 --- a/test/util/geo.test.cpp +++ b/test/util/geo.test.cpp @@ -6,6 +6,75 @@ using namespace mbgl; +TEST(LatLng, InvalidLatLng) { + try { + LatLng { NAN }; + ASSERT_TRUE(false) << "should throw"; + } catch (const std::domain_error& error) { + ASSERT_EQ(std::string(error.what()), "latitude must not be NaN"); + } + try { + LatLng { 0, NAN }; + ASSERT_TRUE(false) << "should throw"; + } catch (const std::domain_error& error) { + ASSERT_EQ(std::string(error.what()), "longitude must not be NaN"); + } + try { + LatLng { 91.0 }; + ASSERT_TRUE(false) << "should throw"; + } catch (const std::domain_error& error) { + ASSERT_EQ(std::string(error.what()), "latitude must be between -90 and 90"); + } + try { + LatLng { 0, std::numeric_limits<double>::infinity() }; + ASSERT_TRUE(false) << "should throw"; + } catch (const std::domain_error& error) { + ASSERT_EQ(std::string(error.what()), "longitude must not be infinite"); + } +} + +TEST(ProjectedMeters, InvalidProjectedMeters) { + try { + ProjectedMeters { NAN }; + ASSERT_TRUE(false) << "should throw"; + } catch (const std::domain_error& error) { + ASSERT_EQ(std::string(error.what()), "northing must not be NaN"); + } + try { + ProjectedMeters { 0, NAN }; + ASSERT_TRUE(false) << "should throw"; + } catch (const std::domain_error& error) { + ASSERT_EQ(std::string(error.what()), "easting must not be NaN"); + } +} + +TEST(EdgeInsets, InvalidEdgeInsets) { + try { + EdgeInsets { NAN }; + ASSERT_TRUE(false) << "should throw"; + } catch (const std::domain_error& error) { + ASSERT_EQ(std::string(error.what()), "top must not be NaN"); + } + try { + EdgeInsets { 0, NAN }; + ASSERT_TRUE(false) << "should throw"; + } catch (const std::domain_error& error) { + ASSERT_EQ(std::string(error.what()), "left must not be NaN"); + } + try { + EdgeInsets { 0, 0, NAN }; + ASSERT_TRUE(false) << "should throw"; + } catch (const std::domain_error& error) { + ASSERT_EQ(std::string(error.what()), "bottom must not be NaN"); + } + try { + EdgeInsets { 0, 0, 0, NAN }; + ASSERT_TRUE(false) << "should throw"; + } catch (const std::domain_error& error) { + ASSERT_EQ(std::string(error.what()), "right must not be NaN"); + } +} + TEST(LatLngBounds, World) { auto result = LatLngBounds::world(); ASSERT_DOUBLE_EQ(-90, result.south()); diff --git a/test/util/projection.test.cpp b/test/util/projection.test.cpp index b0fa0bd060..9f27fe3d14 100644 --- a/test/util/projection.test.cpp +++ b/test/util/projection.test.cpp @@ -38,18 +38,18 @@ TEST(Projection, MetersPerPixelAtLatitude) { TEST(Projection, ProjectedMeters) { auto latLng = LatLng {}; auto projectedMeters = Projection::projectedMetersForLatLng(latLng); - EXPECT_EQ(projectedMeters.northing, projectedMeters.easting); + EXPECT_EQ(projectedMeters.northing(), projectedMeters.easting()); EXPECT_EQ(latLng, Projection::latLngForProjectedMeters(projectedMeters)); const auto southWest = LatLng { -util::LATITUDE_MAX, -util::LONGITUDE_MAX }; projectedMeters = Projection::projectedMetersForLatLng(southWest); - EXPECT_DOUBLE_EQ(projectedMeters.northing, -20037508.342789274); - EXPECT_DOUBLE_EQ(projectedMeters.easting, -20037508.342789244); + EXPECT_DOUBLE_EQ(projectedMeters.northing(), -20037508.342789274); + EXPECT_DOUBLE_EQ(projectedMeters.easting(), -20037508.342789244); const auto northEast = LatLng { util::LATITUDE_MAX, util::LONGITUDE_MAX }; projectedMeters = Projection::projectedMetersForLatLng(northEast); - EXPECT_DOUBLE_EQ(projectedMeters.northing, 20037508.342789274); - EXPECT_DOUBLE_EQ(projectedMeters.easting, 20037508.342789244); + EXPECT_DOUBLE_EQ(projectedMeters.northing(), 20037508.342789274); + EXPECT_DOUBLE_EQ(projectedMeters.easting(), 20037508.342789244); projectedMeters = ProjectedMeters { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::lowest() }; latLng = Projection::latLngForProjectedMeters(projectedMeters); |