diff --git a/tests/cql/CqlListOperatorsTest.xml b/tests/cql/CqlListOperatorsTest.xml index f7d63bf..657924e 100644 --- a/tests/cql/CqlListOperatorsTest.xml +++ b/tests/cql/CqlListOperatorsTest.xml @@ -103,6 +103,39 @@ false + + + + + + + { 'A', 'B', 'C' } ~contains 'a' + true + + + + { 'B', 'C' } ~contains 'a' + false + + + + + (null as List<String>) ~contains 'a' + false + + + + + { 'A', 'B', 'C' } ~contains (null as String) + false + + + + + { 'A', 'B', 'C', null } ~contains (null as String) + true + + @@ -159,6 +192,12 @@ distinct { @T15:59:59.999, @T20:59:59.999 } { @T15:59:59.999, @T20:59:59.999 } + + + + distinct (null as List<Integer>) + null + @@ -194,7 +233,8 @@ - { 'a', 'b', 'c' } as List<Any> ~ { 1, 2, 3 } as List<Any> + + { 'a', 'b', 'c' } as List<Any> = { 1, 2, 3 } as List<Any> false @@ -275,6 +315,18 @@ { 1, 4 } except null {1, 4} + + + + (null as List<Integer>) except { 1, 3, 5 } + null + + + + + { 1, 3, 5, 7, null } except { 1, 3, null } + { 5, 7 } + @@ -341,6 +393,11 @@ Flatten({ {@T15:59:59.999}, {@T20:59:59.999} }) { @T15:59:59.999, @T20:59:59.999 } + + + Flatten(null as List<List<Integer>>) + null + @@ -374,6 +431,11 @@ First({ @T15:59:59.999, @T20:59:59.999 }) @T15:59:59.999 + + + First(null as List<Integer>) + null + @@ -423,6 +485,33 @@ false + + + + + + + 'a' ~in { 'A', 'B', 'C' } + true + + + + 'a' ~in { 'B', 'C' } + false + + + + + 'a' ~in (null as List<String>) + false + + + + + null ~in { 1, 3, 5, null } + true + + @@ -648,6 +737,18 @@ { @T02:29:15.156, @T15:59:59.999, @T20:59:59.999 } intersect { @T01:29:15.156, @T15:59:59.999, @T20:59:59.999 } {@T15:59:59.999, @T20:59:59.999} + + + + { 1, 3, 5 } intersect (null as List<Integer>) + null + + + + + { null, 1, 3, 5 } intersect { null, 3, 5, 7 } + { null, 3, 5 } + @@ -833,12 +934,42 @@ - { @T15:59:59.999, @T20:59:59.999 } = { @T15:59:59.999, @T20:59:59.999 } + + { @T15:59:59.999, @T20:59:59.999 } != { @T15:59:59.999, @T20:59:49.999 } true - { @T15:59:59.999, @T20:59:59.999 } = { @T15:59:59.999, @T20:59:49.999 } + { @T15:59:59.999, @T20:59:59.999 } != { @T15:59:59.999, @T20:59:59.999 } + false + + + + + + + { 1, 3, 5, 7 } !~ { 1, 3, 5, 7 } + false + + + + + { 1, 3, 5, null } !~ { 1, 3, 5, null } + false + + + + { 1, 3, 5, 7 } !~ { 1, 3, 5 } + true + + + + { @T15:59:59.999, @T20:59:59.999 } !~ { @T15:59:59.999, @T20:59:59.995 } + true + + + + { @T15:59:59.999, @T20:59:59.999 } !~ { @T15:59:59.999, @T20:59:59.999 } false @@ -1114,7 +1245,7 @@ singleton from { 1, 2 } - + @@ -1126,6 +1257,11 @@ singleton from { @T15:59:59.999 } @T15:59:59.999 + + + singleton from (null as List<Integer>) + null + @@ -1154,6 +1290,18 @@ Skip({1,2,3,4,5}, 5) {} + + + + Skip({ 1, 2, 3 }, null as Integer) + { 1, 2, 3 } + + + + + Skip({ 1, 2, 3 }, -1) + { } + @@ -1238,7 +1386,7 @@ - + Take(null, 3) null @@ -1268,6 +1416,18 @@ Take({1,2,3,4}, 4) {1, 2, 3, 4} + + + + Take({1, 2}, 3) + {1, 2} + + + + + Take({1, 2, 3, 4}, -1) + {} +