diff options
author | jmkiley <jordan.kiley@mapbox.com> | 2019-10-01 16:17:48 -0700 |
---|---|---|
committer | jmkiley <jordan.kiley@mapbox.com> | 2019-10-01 16:17:48 -0700 |
commit | 7e315ab1b6b4072ffbfa600e1e217f9deefac551 (patch) | |
tree | d0d0aad543e72c1097c7d4f7bbdae2fa9beb068a | |
parent | b9d4e1a2a36bb6ff9f5fe05b2826ab2876b0b1e6 (diff) | |
download | qtlocation-mapboxgl-7e315ab1b6b4072ffbfa600e1e217f9deefac551.tar.gz |
[ios] Fixed tests
-rw-r--r-- | platform/darwin/test/MGLExpressionTests.mm | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/platform/darwin/test/MGLExpressionTests.mm b/platform/darwin/test/MGLExpressionTests.mm index 1d281ca973..df162338f1 100644 --- a/platform/darwin/test/MGLExpressionTests.mm +++ b/platform/darwin/test/MGLExpressionTests.mm @@ -388,10 +388,24 @@ using namespace std::string_literals; XCTAssertEqualObjects([NSExpression expressionWithMGLJSONObject:jsonExpression], expression); } { - NSExpression *expression = [NSExpression expressionForFunction:@"sum:" arguments:arguments]; - NSArray *jsonExpression = @[@"+", @1, @1]; + NSExpression *testExpression = [NSExpression expressionWithFormat:@"sum:({1, 1, 2})"]; + NSExpression *expression = [NSExpression expressionForFunction:@"sum:" arguments:@[[NSExpression expressionForAggregate:@[MGLConstantExpression(@1), MGLConstantExpression(@1), MGLConstantExpression(@2)]]]]; + + NSArray *jsonExpression = @[@"+", @1, @1, @2]; + + XCTAssertEqualObjects(testExpression.mgl_jsonExpressionObject, jsonExpression); XCTAssertEqualObjects(expression.mgl_jsonExpressionObject, jsonExpression); - XCTAssertEqualObjects([NSExpression expressionWithFormat:@"1 + 1"].mgl_jsonExpressionObject, jsonExpression); + XCTAssertEqualObjects(expression, testExpression); + } + { + NSExpression *expression = [NSExpression expressionForFunction:@"sum:" arguments:@[MGLConstantExpression(@1), MGLConstantExpression(@1), MGLConstantExpression(@2)]]; + NSArray *jsonExpression = @[@"+", @1, @1, @2]; + XCTAssertEqualObjects(expression.mgl_jsonExpressionObject, jsonExpression); + + // - [NSExpression expressionWithMGLJSONObject:] creates an expression with an aggregate expression as an argument. This is not equal to an expression with an array of expressions as an argument. For testing purposes, we will compare their operands and arrays of expressions. + NSExpression *aggregateExpression = [NSExpression expressionWithMGLJSONObject:jsonExpression]; + XCTAssertEqualObjects(aggregateExpression.operand, expression.operand); + XCTAssertEqualObjects(aggregateExpression.arguments.firstObject.collection, expression.arguments); } { NSArray *threeArguments = @[MGLConstantExpression(@1), MGLConstantExpression(@1), MGLConstantExpression(@1)]; @@ -434,11 +448,19 @@ using namespace std::string_literals; NSExpression *expression = [NSExpression expressionForFunction:@"max:" arguments:arguments]; NSArray *jsonExpression = @[@"max", @1, @1]; XCTAssertEqualObjects(expression.mgl_jsonExpressionObject, jsonExpression); + + NSExpression *aggregateExpression = [NSExpression expressionWithMGLJSONObject:jsonExpression]; + XCTAssertEqualObjects(aggregateExpression.operand, expression.operand); + XCTAssertEqualObjects(aggregateExpression.arguments.firstObject.collection, expression.arguments); } { NSExpression *expression = [NSExpression expressionForFunction:@"min:" arguments:arguments]; NSArray *jsonExpression = @[@"min", @1, @1]; - XCTAssertEqualObjects(expression.mgl_jsonExpressionObject, jsonExpression); + XCTAssertEqualObjects(expression.mgl_jsonExpressionObject, jsonExpression); + + NSExpression *aggregateExpression = [NSExpression expressionWithMGLJSONObject:jsonExpression]; + XCTAssertEqualObjects(aggregateExpression.operand, expression.operand); + XCTAssertEqualObjects(aggregateExpression.arguments.firstObject.collection, expression.arguments); } { NSExpression *expression = [NSExpression expressionForFunction:@"ceiling:" arguments:@[MGLConstantExpression(@1.5)]]; @@ -651,6 +673,8 @@ using namespace std::string_literals; XCTAssertEqualObjects(expression.mgl_jsonExpressionObject, jsonExpression); XCTAssertEqualObjects(aftermarketExpression.mgl_jsonExpressionObject, expression.mgl_jsonExpressionObject); + NSExpression *aggregateExpression = [NSExpression expressionWithMGLJSONObject:jsonExpression]; + XCTAssertEqualObjects(aggregateExpression.operand, expression.operand); } { NSExpression *expression = [NSExpression expressionForFunction:@"uppercase:" arguments:arguments]; |