summaryrefslogtreecommitdiff
path: root/test/map/map.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/map.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/map.test.cpp')
-rw-r--r--test/map/map.test.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/map/map.test.cpp b/test/map/map.test.cpp
index 0ec97fd3bc..c161065e1a 100644
--- a/test/map/map.test.cpp
+++ b/test/map/map.test.cpp
@@ -241,6 +241,27 @@ TEST(Map, LatLngsToCameraWithBearingAndPitch) {
ASSERT_DOUBLE_EQ(*virtualCamera.pitch, 20.0);
}
+TEST(Map, LatLngsToCameraWithBearingAndPitchMinMax) {
+ MapTest<> test;
+
+ std::vector<LatLng> latLngs{{40.712730, 74.005953}, {15.68169, 73.499857}, {30.82678, 83.4082}};
+
+ test.map.setBounds(BoundOptions().withMinPitch(0).withMaxPitch(0));
+ CameraOptions virtualCamera = test.map.cameraForLatLngs(latLngs, {}, 23, 45);
+ EXPECT_NEAR(virtualCamera.bearing.value_or(0), 23.0, 1e-5);
+ EXPECT_NEAR(virtualCamera.zoom.value_or(0), 2.75434, 1e-5);
+ EXPECT_NEAR(virtualCamera.center->latitude(), 28.49288, 1e-5);
+ EXPECT_NEAR(virtualCamera.center->longitude(), 74.97437, 1e-5);
+ ASSERT_DOUBLE_EQ(*virtualCamera.pitch, 0);
+
+ test.map.setBounds(BoundOptions().withMinPitch(20).withMaxPitch(60));
+ virtualCamera = test.map.cameraForLatLngs(latLngs, {}, 23, 0);
+ EXPECT_NEAR(virtualCamera.bearing.value_or(0), 23.0, 1e-5);
+ EXPECT_NEAR(virtualCamera.zoom.value_or(0), 3.04378, 1e-5);
+ EXPECT_NEAR(virtualCamera.center->latitude(), 28.53718, 1e-5);
+ EXPECT_NEAR(virtualCamera.center->longitude(), 74.31746, 1e-5);
+ ASSERT_DOUBLE_EQ(*virtualCamera.pitch, 20.0);
+}
TEST(Map, CameraToLatLngBounds) {
MapTest<> test;