summaryrefslogtreecommitdiff
path: root/platform/darwin/test/MGLDistanceFormatterTests.m
diff options
context:
space:
mode:
Diffstat (limited to 'platform/darwin/test/MGLDistanceFormatterTests.m')
-rw-r--r--platform/darwin/test/MGLDistanceFormatterTests.m30
1 files changed, 30 insertions, 0 deletions
diff --git a/platform/darwin/test/MGLDistanceFormatterTests.m b/platform/darwin/test/MGLDistanceFormatterTests.m
new file mode 100644
index 0000000000..f15ad9d313
--- /dev/null
+++ b/platform/darwin/test/MGLDistanceFormatterTests.m
@@ -0,0 +1,30 @@
+#import <Mapbox/Mapbox.h>
+#import <XCTest/XCTest.h>
+
+@interface MGLDistanceFormatterTests : XCTestCase
+
+@end
+
+@implementation MGLDistanceFormatterTests
+
+- (void)testAbbreviatedMetricUnits {
+ MGLDistanceFormatter *formatter = [[MGLDistanceFormatter alloc] init];
+ formatter.numberFormatter.locale = [NSLocale localeWithLocaleIdentifier:@"en_CA"];
+ for (CLLocationDistance distance=0; distance <= 10000; distance+=5) {
+ NSString *unit = [[formatter stringFromDistance:distance] componentsSeparatedByString:@" "][1];
+ NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF IN %@", @[@"mm", @"cm", @"m", @"km"]];
+ XCTAssert([predicate evaluateWithObject:unit], @"Should only contain metric units");
+ }
+}
+
+- (void)testAbbreviatedImperialUnits {
+ MGLDistanceFormatter *formatter = [[MGLDistanceFormatter alloc] init];
+ formatter.numberFormatter.locale = [NSLocale localeWithLocaleIdentifier:@"en_US"];
+ for (CLLocationDistance distance=0; distance <= 10000; distance+=5) {
+ NSString *unit = [[formatter stringFromDistance:distance] componentsSeparatedByString:@" "][1];
+ NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF IN %@", @[@"ft", @"mi"]];
+ XCTAssert([predicate evaluateWithObject:unit], @"Should only contain imperial units");
+ }
+}
+
+@end