diff options
Diffstat (limited to 'platform/darwin/test')
-rw-r--r-- | platform/darwin/test/MGLDocumentationExampleTests.swift | 2 | ||||
-rw-r--r-- | platform/darwin/test/MGLMapCameraTests.m | 49 |
2 files changed, 50 insertions, 1 deletions
diff --git a/platform/darwin/test/MGLDocumentationExampleTests.swift b/platform/darwin/test/MGLDocumentationExampleTests.swift index dd34b25291..a8f92dd528 100644 --- a/platform/darwin/test/MGLDocumentationExampleTests.swift +++ b/platform/darwin/test/MGLDocumentationExampleTests.swift @@ -376,7 +376,7 @@ class MGLDocumentationExampleTests: XCTestCase, MGLMapViewDelegate { } //#-example-code - let camera = MGLMapCamera(lookingAtCenter: CLLocationCoordinate2D(latitude: 37.7184, longitude: -122.4365), fromDistance: 100, pitch: 20, heading: 0) + let camera = MGLMapCamera(lookingAtCenter: CLLocationCoordinate2D(latitude: 37.7184, longitude: -122.4365), altitude: 100, pitch: 20, heading: 0) let options = MGLMapSnapshotOptions(styleURL: MGLStyle.satelliteStreetsStyleURL, camera: camera, size: CGSize(width: 320, height: 480)) options.zoomLevel = 10 diff --git a/platform/darwin/test/MGLMapCameraTests.m b/platform/darwin/test/MGLMapCameraTests.m new file mode 100644 index 0000000000..d40a336922 --- /dev/null +++ b/platform/darwin/test/MGLMapCameraTests.m @@ -0,0 +1,49 @@ +#import <XCTest/XCTest.h> +#import <CoreLocation/CoreLocation.h> +#import <Mapbox/Mapbox.h> +#import <MapKit/MapKit.h> + +@interface MGLMapCameraTests : XCTestCase + +@end + +@implementation MGLMapCameraTests + +- (void)testViewingDistance { + CLLocationCoordinate2D fountainSquare = CLLocationCoordinate2DMake(39.10152215, -84.5124439696089); + MGLMapCamera *camera = [MGLMapCamera cameraLookingAtCenterCoordinate:fountainSquare + acrossDistance:10000 + pitch:0 + heading:0]; + MKMapCamera *mkCamera = [MKMapCamera cameraLookingAtCenterCoordinate:fountainSquare + fromDistance:10000 + pitch:0 + heading:0]; + XCTAssertEqualWithAccuracy(camera.altitude, 10000, 0.01, @"Untilted camera should use distance verbatim."); + XCTAssertEqualWithAccuracy(camera.altitude, mkCamera.altitude, 0.01, @"Untilted camera altitude should match MapKit."); + + camera = [MGLMapCamera cameraLookingAtCenterCoordinate:fountainSquare + altitude:10000 + pitch:0 + heading:0]; + XCTAssertEqual(camera.altitude, 10000, @"Untilted camera should use altitude verbatim."); + + camera = [MGLMapCamera cameraLookingAtCenterCoordinate:fountainSquare + acrossDistance:10000 + pitch:60 + heading:0]; + mkCamera = [MKMapCamera cameraLookingAtCenterCoordinate:fountainSquare + fromDistance:10000 + pitch:60 + heading:0]; + XCTAssertEqualWithAccuracy(camera.altitude, 5000, 0.01, @"Tilted camera altitude should account for pitch."); + XCTAssertEqualWithAccuracy(camera.altitude, mkCamera.altitude, 0.01, @"Tilted camera altitude should match MapKit."); + + camera = [MGLMapCamera cameraLookingAtCenterCoordinate:fountainSquare + altitude:10000 + pitch:60 + heading:0]; + XCTAssertEqual(camera.altitude, 10000, @"Tilted camera should use altitude verbatim."); +} + +@end |