1
0
Fork 0

added tests

This commit is contained in:
jsteemann 2016-04-17 11:21:07 +02:00
parent 43f040b3c5
commit 1ca9606bbc
1 changed files with 73 additions and 2 deletions

View File

@ -1,5 +1,5 @@
/*jshint globalstrict:false, strict:false, maxlen: 500 */
/*global assertEqual, AQL_EXECUTE */
/*global assertEqual, assertFalse, assertTrue, AQL_EXECUTE */
////////////////////////////////////////////////////////////////////////////////
/// @brief tests for optimizer rules
@ -61,13 +61,75 @@ function rangesSuite () {
assertEqual([ 1, 2, 3, 4, 5, 6, 7, 8, 9 ], actual[0]);
},
////////////////////////////////////////////////////////////////////////////////
/// @brief test range as result
////////////////////////////////////////////////////////////////////////////////
testRangeAsResultReversed : function () {
var actual = AQL_EXECUTE("RETURN 9..1").json;
assertEqual([ 9, 8, 7, 6, 5, 4, 3, 2, 1 ], actual[0]);
},
////////////////////////////////////////////////////////////////////////////////
/// @brief test range as result
////////////////////////////////////////////////////////////////////////////////
testRangeInInExpressionWrong : function () {
for (var i = 0; i <= 10; ++i) {
var actual = AQL_EXECUTE("RETURN 1..9 IN " + i).json;
assertFalse(actual[0]);
}
},
////////////////////////////////////////////////////////////////////////////////
/// @brief test range as result
////////////////////////////////////////////////////////////////////////////////
testRangeInInExpression : function () {
for (var i = 0; i <= 10; ++i) {
var actual = AQL_EXECUTE("RETURN " + i + " IN 1..9").json;
var expected = (i !== 0 && i !== 10);
assertEqual(expected, actual[0]);
}
},
////////////////////////////////////////////////////////////////////////////////
/// @brief test range as result
////////////////////////////////////////////////////////////////////////////////
testRangeInNotInExpression : function () {
for (var i = 0; i <= 10; ++i) {
var actual = AQL_EXECUTE("RETURN " + i + " NOT IN 1..9").json;
var expected = (i === 0 || i === 10);
assertEqual(expected, actual[0]);
}
},
////////////////////////////////////////////////////////////////////////////////
/// @brief test range as result
////////////////////////////////////////////////////////////////////////////////
testRangeInEqualityExpression : function () {
var actual = AQL_EXECUTE("RETURN 1..9 == 1..9").json;
assertTrue(actual[0]);
},
////////////////////////////////////////////////////////////////////////////////
/// @brief test range as a function parameter
////////////////////////////////////////////////////////////////////////////////
testRangeAsFunctionParameter1 : function () {
var actual = AQL_EXECUTE("RETURN IS_STRING(1..73)").json;
assertEqual(false, actual[0]);
assertFalse(actual[0]);
actual = AQL_EXECUTE("RETURN NOOPT(IS_STRING(1..73))").json;
assertFalse(actual[0]);
actual = AQL_EXECUTE("RETURN IS_ARRAY(1..73)").json;
assertTrue(actual[0]);
actual = AQL_EXECUTE("RETURN NOOPT(IS_ARRAY(1..73))").json;
assertTrue(actual[0]);
},
////////////////////////////////////////////////////////////////////////////////
@ -77,6 +139,9 @@ function rangesSuite () {
testRangeAsFunctionParameter2 : function () {
var actual = AQL_EXECUTE("RETURN MAX(1..73)").json;
assertEqual(73, actual[0]);
actual = AQL_EXECUTE("RETURN NOOPT(MAX(1..73))").json;
assertEqual(73, actual[0]);
},
////////////////////////////////////////////////////////////////////////////////
@ -86,6 +151,9 @@ function rangesSuite () {
testRangeAsFunctionParameter3 : function () {
var actual = AQL_EXECUTE("RETURN LENGTH(1..73)").json;
assertEqual(73, actual[0]);
actual = AQL_EXECUTE("RETURN NOOPT(LENGTH(1..73))").json;
assertEqual(73, actual[0]);
},
////////////////////////////////////////////////////////////////////////////////
@ -95,6 +163,9 @@ function rangesSuite () {
testFunctionRange : function () {
var actual = AQL_EXECUTE("RETURN FLOOR(1) .. FLOOR(10)").json;
assertEqual([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], actual[0]);
actual = AQL_EXECUTE("RETURN NOOPT(FLOOR(1) .. FLOOR(10))").json;
assertEqual([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], actual[0]);
},
////////////////////////////////////////////////////////////////////////////////