diff options
author | Minh Nguyễn <mxn@1ec5.org> | 2016-04-14 14:16:00 -0700 |
---|---|---|
committer | Minh Nguyễn <mxn@1ec5.org> | 2016-04-16 22:46:24 -0700 |
commit | be8f83770d0a86e15ff395958b970cd69ab9c2d7 (patch) | |
tree | 6ed8ce4f634ac0704b5f795c66aa0b70bdd1980c /platform/darwin/test/MGLGeometryTests.mm | |
parent | f791eb32b9ebe96845e87e5a6acd3ee46182c1d5 (diff) | |
download | qtlocation-mapboxgl-be8f83770d0a86e15ff395958b970cd69ab9c2d7.tar.gz |
[ios, osx] Shared test bundle
The iOS and OS X SDKs now share a non-UI test bundle. Moved the iOS UI test bundle into a uitest/ subdirectory and moved the OS X SDK tests into the darwin/ subdirectory.
Upgraded KIF to v3.4.2.
Diffstat (limited to 'platform/darwin/test/MGLGeometryTests.mm')
-rw-r--r-- | platform/darwin/test/MGLGeometryTests.mm | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/platform/darwin/test/MGLGeometryTests.mm b/platform/darwin/test/MGLGeometryTests.mm new file mode 100644 index 0000000000..e6e7c4b45c --- /dev/null +++ b/platform/darwin/test/MGLGeometryTests.mm @@ -0,0 +1,58 @@ +#import "../../darwin/src/MGLGeometry_Private.h" + +#pragma clang diagnostic ignored "-Wgnu-statement-expression" +#pragma clang diagnostic ignored "-Wgnu-zero-variadic-macro-arguments" + +#import <XCTest/XCTest.h> + +@interface MGLGeometryTests : XCTestCase +@end + +@implementation MGLGeometryTests + +- (void)testCoordinateBoundsIsEmpty { + MGLCoordinateBounds emptyBounds = MGLCoordinateBoundsMake(CLLocationCoordinate2DMake(0, 0), CLLocationCoordinate2DMake(10, 0)); + XCTAssertTrue(MGLCoordinateBoundsIsEmpty(emptyBounds)); + XCTAssertFalse(MGLCoordinateSpanEqualToCoordinateSpan(MGLCoordinateSpanZero, MGLCoordinateBoundsGetCoordinateSpan(emptyBounds))); +} + +- (void)testAngleConversions { + XCTAssertEqual(-180, MGLDegreesFromRadians(-M_PI)); + XCTAssertEqual(0, MGLDegreesFromRadians(0)); + XCTAssertEqual(45, MGLDegreesFromRadians(M_PI_4)); + XCTAssertEqual(90, MGLDegreesFromRadians(M_PI_2)); + XCTAssertEqual(180, MGLDegreesFromRadians(M_PI)); + XCTAssertEqual(360, MGLDegreesFromRadians(2 * M_PI)); + XCTAssertEqual(720, MGLDegreesFromRadians(4 * M_PI)); + + XCTAssertEqual(-360, MGLDegreesFromRadians(MGLRadiansFromDegrees(-360))); + XCTAssertEqual(-180, MGLDegreesFromRadians(MGLRadiansFromDegrees(-180))); + XCTAssertEqual(-90, MGLDegreesFromRadians(MGLRadiansFromDegrees(-90))); + XCTAssertEqual(-45, MGLDegreesFromRadians(MGLRadiansFromDegrees(-45))); + XCTAssertEqual(0, MGLDegreesFromRadians(MGLRadiansFromDegrees(0))); + XCTAssertEqual(45, MGLDegreesFromRadians(MGLRadiansFromDegrees(45))); + XCTAssertEqual(90, MGLDegreesFromRadians(MGLRadiansFromDegrees(90))); + XCTAssertEqual(180, MGLDegreesFromRadians(MGLRadiansFromDegrees(180))); + XCTAssertEqual(360, MGLDegreesFromRadians(MGLRadiansFromDegrees(360))); +} + +- (void)testAltitudeConversions { + CGSize tallSize = CGSizeMake(600, 1200); + CGSize midSize = CGSizeMake(600, 800); + CGSize shortSize = CGSizeMake(600, 400); + + XCTAssertEqualWithAccuracy(1800, MGLAltitudeForZoomLevel(MGLZoomLevelForAltitude(1800, 0, 0, midSize), 0, 0, midSize), 1); + XCTAssertLessThan(MGLZoomLevelForAltitude(1800, 0, 0, midSize), MGLZoomLevelForAltitude(1800, 0, 0, tallSize)); + XCTAssertGreaterThan(MGLZoomLevelForAltitude(1800, 0, 0, midSize), MGLZoomLevelForAltitude(1800, 0, 0, shortSize)); + + XCTAssertEqualWithAccuracy(0, MGLZoomLevelForAltitude(MGLAltitudeForZoomLevel(0, 0, 0, midSize), 0, 0, midSize), 3); + XCTAssertEqualWithAccuracy(18, MGLZoomLevelForAltitude(MGLAltitudeForZoomLevel(18, 0, 0, midSize), 0, 0, midSize), 3); + + XCTAssertEqualWithAccuracy(0, MGLZoomLevelForAltitude(MGLAltitudeForZoomLevel(0, 0, 40, midSize), 0, 40, midSize), 3); + XCTAssertEqualWithAccuracy(18, MGLZoomLevelForAltitude(MGLAltitudeForZoomLevel(18, 0, 40, midSize), 0, 40, midSize), 3); + + XCTAssertEqualWithAccuracy(0, MGLZoomLevelForAltitude(MGLAltitudeForZoomLevel(0, 60, 40, midSize), 60, 40, midSize), 3); + XCTAssertEqualWithAccuracy(18, MGLZoomLevelForAltitude(MGLAltitudeForZoomLevel(18, 60, 40, midSize), 60, 40, midSize), 3); +} + +@end |