From 4b43c3529448f36feb575296f970b05c18de0413 Mon Sep 17 00:00:00 2001 From: Bryant Austin Date: Mon, 29 Jun 2026 11:34:16 -0600 Subject: [PATCH 1/2] additional tests and edits as suggested by claude --- tests/cql/CqlListOperatorsTest.xml | 47 ++++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 3 deletions(-) diff --git a/tests/cql/CqlListOperatorsTest.xml b/tests/cql/CqlListOperatorsTest.xml index f7d63bf..01f0698 100644 --- a/tests/cql/CqlListOperatorsTest.xml +++ b/tests/cql/CqlListOperatorsTest.xml @@ -194,7 +194,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 +276,12 @@ { 1, 4 } except null {1, 4} + + + + (null as List<Integer>) except { 1, 3, 5 } + null + @@ -341,6 +348,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 +386,11 @@ First({ @T15:59:59.999, @T20:59:59.999 }) @T15:59:59.999 + + + First(null as List<Integer>) + null + @@ -648,6 +665,12 @@ { @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 + @@ -833,12 +856,13 @@ - { @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 @@ -1126,6 +1150,11 @@ singleton from { @T15:59:59.999 } @T15:59:59.999 + + + singleton from (null as List<Integer>) + null + @@ -1154,6 +1183,18 @@ Skip({1,2,3,4,5}, 5) {} + + + + Skip({ 1, 2, 3 }, null as Integer) + { 1, 2, 3 } + + + + + Skip({ 1, 2, 3 }, -1) + { } + From 96d89042a9164cd4319b80cb434938ef5d301a8a Mon Sep 17 00:00:00 2001 From: Bryant Austin Date: Thu, 9 Jul 2026 09:06:30 -0600 Subject: [PATCH 2/2] additional pass through by claude. Does NOT contain PR130 --- tests/cql/CqlListOperatorsTest.xml | 135 +++++++++++++++++++++++++++-- 1 file changed, 127 insertions(+), 8 deletions(-) diff --git a/tests/cql/CqlListOperatorsTest.xml b/tests/cql/CqlListOperatorsTest.xml index 01f0698..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,7 @@ - + { 'a', 'b', 'c' } as List<Any> = { 1, 2, 3 } as List<Any> false @@ -278,10 +317,16 @@ - + (null as List<Integer>) except { 1, 3, 5 } null + + + + { 1, 3, 5, 7, null } except { 1, 3, null } + { 5, 7 } + @@ -440,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 + + @@ -667,10 +739,16 @@ - + { 1, 3, 5 } intersect (null as List<Integer>) null + + + + { null, 1, 3, 5 } intersect { null, 3, 5, 7 } + { null, 3, 5 } + @@ -856,7 +934,7 @@ - + { @T15:59:59.999, @T20:59:59.999 } != { @T15:59:59.999, @T20:59:49.999 } true @@ -866,6 +944,35 @@ 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 + + @@ -1138,7 +1245,7 @@ singleton from { 1, 2 } - + @@ -1185,13 +1292,13 @@ - + Skip({ 1, 2, 3 }, null as Integer) { 1, 2, 3 } - + Skip({ 1, 2, 3 }, -1) { } @@ -1279,7 +1386,7 @@ - + Take(null, 3) null @@ -1309,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) + {} +