diff options
author | Juha Alanen <juha.alanen@mapbox.com> | 2020-02-19 12:44:41 +0200 |
---|---|---|
committer | Juha Alanen <juha.alanen@mapbox.com> | 2020-02-20 12:36:33 +0200 |
commit | 33786513c3d954e247884d25be2fbe62c5f0bc4b (patch) | |
tree | 89f7d2aa77619ea04692667d041fb5f4e7c773bb /test/map/transform.test.cpp | |
parent | 6b7b37a03f0ef6d441c588e71ace81c12163c0e4 (diff) | |
download | qtlocation-mapboxgl-33786513c3d954e247884d25be2fbe62c5f0bc4b.tar.gz |
[test] Add test for min and max pitch optionsupstream/jmalanen-clamp-pitch
Diffstat (limited to 'test/map/transform.test.cpp')
-rw-r--r-- | test/map/transform.test.cpp | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/test/map/transform.test.cpp b/test/map/transform.test.cpp index 02ecbfbee4..506e61aca7 100644 --- a/test/map/transform.test.cpp +++ b/test/map/transform.test.cpp @@ -788,3 +788,75 @@ TEST(Transform, LatLngBounds) { transform.moveBy(ScreenCoordinate { 500, 0 }); ASSERT_DOUBLE_EQ(transform.getLatLng().longitude(), 120.0); } + +TEST(Transform, InvalidPitch) { + Transform transform; + transform.resize({1, 1}); + + ASSERT_DOUBLE_EQ(0, transform.getLatLng().latitude()); + ASSERT_DOUBLE_EQ(0, transform.getLatLng().longitude()); + ASSERT_DOUBLE_EQ(0, transform.getZoom()); + ASSERT_DOUBLE_EQ(0, transform.getPitch()); + + transform.jumpTo(CameraOptions().withZoom(1.0).withPitch(45)); + ASSERT_DOUBLE_EQ(1, transform.getZoom()); + ASSERT_DOUBLE_EQ(45 * util::DEG2RAD, transform.getPitch()); + + const double invalid = NAN; + + transform.jumpTo(CameraOptions().withPitch(invalid)); + ASSERT_DOUBLE_EQ(45 * util::DEG2RAD, transform.getPitch()); + + transform.jumpTo(CameraOptions().withPitch(60)); + ASSERT_DOUBLE_EQ(60 * util::DEG2RAD, transform.getPitch()); +} + +TEST(Transform, MinMaxPitch) { + Transform transform; + transform.resize({1, 1}); + + ASSERT_DOUBLE_EQ(0, transform.getLatLng().latitude()); + ASSERT_DOUBLE_EQ(0, transform.getLatLng().longitude()); + ASSERT_DOUBLE_EQ(0, transform.getZoom()); + ASSERT_DOUBLE_EQ(0, transform.getPitch()); + + transform.jumpTo(CameraOptions().withZoom(1.0).withPitch(60)); + ASSERT_DOUBLE_EQ(1, transform.getZoom()); + ASSERT_DOUBLE_EQ(transform.getState().getMaxPitch(), transform.getPitch()); + ASSERT_DOUBLE_EQ(60 * util::DEG2RAD, transform.getPitch()); + + transform.setMaxPitch(70); + transform.jumpTo(CameraOptions().withPitch(70)); + ASSERT_DOUBLE_EQ(transform.getState().getMaxPitch(), transform.getPitch()); + ASSERT_DOUBLE_EQ(60 * util::DEG2RAD, transform.getPitch()); + + transform.setMaxPitch(45); + transform.jumpTo(CameraOptions().withPitch(60)); + ASSERT_DOUBLE_EQ(transform.getState().getMaxPitch(), transform.getPitch()); + ASSERT_DOUBLE_EQ(45 * util::DEG2RAD, transform.getPitch()); + + transform.jumpTo(CameraOptions().withPitch(0)); + ASSERT_DOUBLE_EQ(transform.getState().getMinPitch(), transform.getPitch()); + ASSERT_DOUBLE_EQ(0, transform.getPitch()); + + transform.setMinPitch(-10); + transform.jumpTo(CameraOptions().withPitch(-10)); + ASSERT_DOUBLE_EQ(transform.getState().getMinPitch(), transform.getPitch()); + ASSERT_DOUBLE_EQ(0, transform.getPitch()); + + transform.setMinPitch(15); + transform.jumpTo(CameraOptions().withPitch(0)); + ASSERT_DOUBLE_EQ(transform.getState().getMinPitch(), transform.getPitch()); + ASSERT_DOUBLE_EQ(15 * util::DEG2RAD, transform.getPitch()); + + transform.setMinPitch(45); + ASSERT_DOUBLE_EQ(45 * util::DEG2RAD, transform.getState().getMinPitch()); + transform.setMaxPitch(45); + ASSERT_DOUBLE_EQ(45 * util::DEG2RAD, transform.getState().getMaxPitch()); + + transform.setMaxPitch(10); + ASSERT_DOUBLE_EQ(45 * util::DEG2RAD, transform.getState().getMaxPitch()); + + transform.setMinPitch(60); + ASSERT_DOUBLE_EQ(45 * util::DEG2RAD, transform.getState().getMinPitch()); +} |