summaryrefslogtreecommitdiff
path: root/test/map/transform.test.cpp
diff options
context:
space:
mode:
authorJuha Alanen <juha.alanen@mapbox.com>2020-02-19 12:44:41 +0200
committerJuha Alanen <juha.alanen@mapbox.com>2020-02-20 12:36:33 +0200
commit33786513c3d954e247884d25be2fbe62c5f0bc4b (patch)
tree89f7d2aa77619ea04692667d041fb5f4e7c773bb /test/map/transform.test.cpp
parent6b7b37a03f0ef6d441c588e71ace81c12163c0e4 (diff)
downloadqtlocation-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.cpp72
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());
+}