summaryrefslogtreecommitdiff
path: root/platform/ios/test/MGLMapViewCompassViewTests.mm
diff options
context:
space:
mode:
Diffstat (limited to 'platform/ios/test/MGLMapViewCompassViewTests.mm')
-rw-r--r--platform/ios/test/MGLMapViewCompassViewTests.mm98
1 files changed, 0 insertions, 98 deletions
diff --git a/platform/ios/test/MGLMapViewCompassViewTests.mm b/platform/ios/test/MGLMapViewCompassViewTests.mm
deleted file mode 100644
index aaec4b0bf7..0000000000
--- a/platform/ios/test/MGLMapViewCompassViewTests.mm
+++ /dev/null
@@ -1,98 +0,0 @@
-#import <Mapbox/Mapbox.h>
-#import <XCTest/XCTest.h>
-
-#import <mbgl/math/wrap.hpp>
-
-@interface MGLMapView (MGLCompassButtonTests)
-- (void)resetNorthAnimated:(BOOL)animated;
-@end
-
-@interface MGLCompassButtonTests : XCTestCase
-@property (nonatomic) MGLMapView *mapView;
-@end
-
-@implementation MGLCompassButtonTests
-
-- (void)setUp {
- [super setUp];
-
- [MGLAccountManager setAccessToken:@"pk.feedcafedeadbeefbadebede"];
- NSURL *styleURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"one-liner" withExtension:@"json"];
- self.mapView = [[MGLMapView alloc] initWithFrame:UIScreen.mainScreen.bounds styleURL:styleURL];
-}
-
-- (void)tearDown {
- self.mapView = nil;
- [MGLAccountManager setAccessToken:nil];
-
- [super tearDown];
-}
-
-- (void)testCompassButton {
- XCTAssertNotNil(self.mapView.compassView);
- XCTAssertTrue([self.mapView.compassView isKindOfClass:[MGLCompassButton class]]);
- XCTAssertTrue(self.mapView.compassView.userInteractionEnabled);
- XCTAssertEqual(self.mapView.compassView.gestureRecognizers.count, (unsigned long)1);
- XCTAssertEqual(self.mapView.compassView.accessibilityTraits, UIAccessibilityTraitButton);
- XCTAssertNotNil(self.mapView.compassView.accessibilityLabel);
- XCTAssertNotNil(self.mapView.compassView.accessibilityHint);
-}
-
-- (void)testVisibilityAdaptive {
- XCTAssertEqual(self.mapView.compassView.compassVisibility, MGLOrnamentVisibilityAdaptive, @"Adaptive should be the default visibility setting.");
- XCTAssertEqual(self.mapView.compassView.alpha, 0, @"Compass should not initially be visible.");
-
- self.mapView.zoomLevel = 15.f;
- [self.mapView setDirection:45.f animated:false];
- XCTAssertEqualWithAccuracy(self.mapView.direction, 45, 0.001);
- XCTAssertEqual(self.mapView.compassView.alpha, 1, @"Compass should become visible when direction changes.");
-
- [self.mapView resetNorthAnimated:NO];
- XCTAssertEqual(self.mapView.direction, 0);
- XCTAssertEqual(self.mapView.compassView.alpha, 0, @"Compass should hide itself when direction is north.");
-}
-
-- (void)testVisibilityHidden {
- self.mapView.compassView.compassVisibility = MGLOrnamentVisibilityHidden;
- XCTAssertEqual(self.mapView.compassView.compassVisibility, MGLOrnamentVisibilityHidden);
- XCTAssertEqual(self.mapView.compassView.alpha, 0, @"Compass should not initially be visible.");
-
- self.mapView.zoomLevel = 15.f;
- [self.mapView setDirection:45.f animated:false];
- XCTAssertEqualWithAccuracy(self.mapView.direction, 45, 0.001);
- XCTAssertEqual(self.mapView.compassView.alpha, 0, @"Compass should stay hidden when direction changes.");
-}
-
-- (void)testVisibilityVisible {
- self.mapView.compassView.compassVisibility = MGLOrnamentVisibilityVisible;
- XCTAssertEqual(self.mapView.compassView.compassVisibility, MGLOrnamentVisibilityVisible);
- XCTAssertEqual(self.mapView.compassView.alpha, 1, @"Compass should initially be visible.");
-
- self.mapView.zoomLevel = 15.f;
- [self.mapView setDirection:45.f animated:false];
- XCTAssertEqualWithAccuracy(self.mapView.direction, 45, 0.001);
- XCTAssertEqual(self.mapView.compassView.alpha, 1, @"Compass should continue to be visible when direction changes.");
-
- [self.mapView resetNorthAnimated:NO];
- XCTAssertEqual(self.mapView.direction, 0);
- XCTAssertEqual(self.mapView.compassView.alpha, 1, @"Compass should continue to be visible when direction is north.");
-}
-
-- (void)testCompassRotation {
- self.mapView.zoomLevel = 15;
-
- for (NSNumber *degrees in @[@-999, @-359, @-240, @-180, @-90, @-45, @0, @45, @90, @180, @240, @360, @999]) {
- self.mapView.direction = [degrees doubleValue];
- CGFloat wrappedDirection = mbgl::util::wrap(-self.mapView.direction, 0., 360.);
- CGAffineTransform rotation = CGAffineTransformMakeRotation(MGLRadiansFromDegrees(wrappedDirection));
- XCTAssertTrue(CGAffineTransformEqualToTransform(self.mapView.compassView.transform, rotation),
- @"Compass transform direction %f° should equal wrapped transform direction %f° (~%.f°).", [self degreesFromAffineTransform:self.mapView.compassView.transform], [self degreesFromAffineTransform:rotation], wrappedDirection);
- }
-}
-
-- (CGFloat)degreesFromAffineTransform:(CGAffineTransform)transform {
- CGFloat angle = atan2f(transform.b, transform.a);
- return MGLDegreesFromRadians(angle);
-}
-
-@end