mirror of https://gitee.com/bigwinds/arangodb
added tests
This commit is contained in:
parent
43f040b3c5
commit
1ca9606bbc
|
@ -1,5 +1,5 @@
|
||||||
/*jshint globalstrict:false, strict:false, maxlen: 500 */
|
/*jshint globalstrict:false, strict:false, maxlen: 500 */
|
||||||
/*global assertEqual, AQL_EXECUTE */
|
/*global assertEqual, assertFalse, assertTrue, AQL_EXECUTE */
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
/// @brief tests for optimizer rules
|
/// @brief tests for optimizer rules
|
||||||
|
@ -61,13 +61,75 @@ function rangesSuite () {
|
||||||
assertEqual([ 1, 2, 3, 4, 5, 6, 7, 8, 9 ], actual[0]);
|
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
|
/// @brief test range as a function parameter
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
testRangeAsFunctionParameter1 : function () {
|
testRangeAsFunctionParameter1 : function () {
|
||||||
var actual = AQL_EXECUTE("RETURN IS_STRING(1..73)").json;
|
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 () {
|
testRangeAsFunctionParameter2 : function () {
|
||||||
var actual = AQL_EXECUTE("RETURN MAX(1..73)").json;
|
var actual = AQL_EXECUTE("RETURN MAX(1..73)").json;
|
||||||
assertEqual(73, actual[0]);
|
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 () {
|
testRangeAsFunctionParameter3 : function () {
|
||||||
var actual = AQL_EXECUTE("RETURN LENGTH(1..73)").json;
|
var actual = AQL_EXECUTE("RETURN LENGTH(1..73)").json;
|
||||||
assertEqual(73, actual[0]);
|
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 () {
|
testFunctionRange : function () {
|
||||||
var actual = AQL_EXECUTE("RETURN FLOOR(1) .. FLOOR(10)").json;
|
var actual = AQL_EXECUTE("RETURN FLOOR(1) .. FLOOR(10)").json;
|
||||||
assertEqual([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], actual[0]);
|
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]);
|
||||||
},
|
},
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
Loading…
Reference in New Issue