From 66d9593d945db63c650c15555f33f4c2b664efde Mon Sep 17 00:00:00 2001 From: StrayAlien Date: Fri, 26 Jul 2024 09:37:08 +1000 Subject: [PATCH 1/3] assertions for input and output values unary tests in decision tables --- .../1157-unarytests-decisiontable-test-01.xml | 197 +++++++ .../1157-unarytests-decisiontable.dmn | 514 ++++++++++++++++++ 2 files changed, 711 insertions(+) create mode 100644 TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable-test-01.xml create mode 100644 TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable.dmn diff --git a/TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable-test-01.xml b/TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable-test-01.xml new file mode 100644 index 000000000..d953832ef --- /dev/null +++ b/TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable-test-01.xml @@ -0,0 +1,197 @@ + + + + 1157-unarytests-decisiontable.dmn + + + input values: input expression is valid against input values - positive unary tests + + + success + + + + + + input values: input expression is valid against input values - range + + + success + + + + + + input values: input expression is valid against input values - '-' char + + + success + + + + + + input values: input expression is valid against input values - negate using not() + + + success + + + + + + input values: input expression is not valid against input values and will become null + + + success + + + + + + input values: input expression is valid against input values - '?' symbol with built-in function + + + + success + + + + + + input values: input expression is valid against input values - '?' inside literal string + + + success + + + + + + input values: input expression is valid against input values - '?' inside literal string + + + success + + + + + + input values: "?" symbol alone always is a match + + + success + + + + + + input values: input expression is valid against input values - input values has no text + + + success + + + + + + + + input values: boolean expression is weird + + + success + + + + + + output values: result matches output values + + + success + + + + + + output values: result does not matches output values + + + + + + + + + output values: output values text may be empty + + + success + + + + + + output values: output values text may be "-" char + + + success + + + + + + output values: multiple columns - all match + + + + foo + + + bar + + + + + + + output values: multiple columns - column mismatch + + + + foo + + + + + + + + + + output values: ? used in tests - match + + + foo + + + + + + output values: ? used in tests - mismatch + + + + + + + + diff --git a/TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable.dmn b/TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable.dmn new file mode 100644 index 000000000..7f6cc1e0c --- /dev/null +++ b/TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable.dmn @@ -0,0 +1,514 @@ + + + UnaryTests for decision tables + + + + + + + + + + + 123 + + + 123,456 + + + + + + 123 + + + "success" + + + + + + + + + + + + + 123 + + + [1..1000] + + + + + + 123 + + + "success" + + + + + + + + + + + + + 123 + + + - + + + + + + 123 + + + "success" + + + + + + + + + + + + + 123 + + + not(456,789) + + + + + + 123 + + + "success" + + + + + + + + + + + + + + 123 + + + not(123) + + + + + + null + + + "success" + + + + + + + + + + + + + "foo" + + + "bar", string length(?) = 3 + + + + + + "foo" + + + "success" + + + + + + + + + + + + + + "foo" + + + "bar", string length("?") = 1 + + + + + + null + + + "success" + + + + + + + + + + + + + + 123 + + + ? + + + + + + 123 + + + "success" + + + + + + + + + + + + + "foo" + + + ? + + + + + + "foo" + + + "success" + + + + + + + + + + + + + + 123 + + + + + + + + + 123 + + + "success" + + + + + + + + + + + + false + + + ("123", true) + + + + + + null + + + "success" + + + + + + + + + + + + 123 + + + + + "success","failure" + + + + + 123 + + + "success" + + + + + + + + + + + + 123 + + + + + "success","failure" + + + + + 123 + + + "foo" + + + + + + + + + + + + 123 + + + + + + + + + + 123 + + + "success" + + + + + + + + + + + + 123 + + + + + - + + + + + 123 + + + "success" + + + + + + + + + + + + 123 + + + + + "foo", "bar" + + + + + "foo", "bar" + + + + + 123 + + + "foo" + + + "bar" + + + + + + + + + + + + 123 + + + + + "foo", "bar" + + + + + "foo", "bar" + + + + + 123 + + + "foo" + + + "baz" + + + + + + + + + + + + 123 + + + + + string length(?) >= 3 + + + + + 123 + + + "foo" + + + + + + + + + + + + 123 + + + + + string length(?) >= 3 + + + + + 123 + + + "a" + + + + + + + From 958880dbfa2636cbfdc1c4f05a5e3c43f61cec72 Mon Sep 17 00:00:00 2001 From: StrayAlien Date: Fri, 26 Jul 2024 10:27:44 +1000 Subject: [PATCH 2/3] assertions for input and output values unary tests in decision tables --- .../1157-unarytests-decisiontable-test-01.xml | 31 ++++--- .../1157-unarytests-decisiontable.dmn | 83 +++++++++++++------ 2 files changed, 78 insertions(+), 36 deletions(-) diff --git a/TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable-test-01.xml b/TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable-test-01.xml index d953832ef..f0e2cc3dc 100644 --- a/TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable-test-01.xml +++ b/TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable-test-01.xml @@ -71,7 +71,7 @@ - input values: input expression is valid against input values - '?' inside literal string + input values: "?" symbol alone is not satisfied success @@ -80,7 +80,7 @@ - input values: "?" symbol alone always is a match + input values: "?" symbol alone will be satisfied a true value success @@ -101,8 +101,8 @@ input values: boolean expression is weird @@ -112,8 +112,19 @@ + + + input values: boolean expression is weird + + + success + + + + - output values: result matches output values + output values: result satisfies output values success @@ -122,7 +133,7 @@ - output values: result does not matches output values + output values: result does not satisfy output values @@ -149,7 +160,7 @@ - output values: multiple columns - all match + output values: multiple columns - all satisfied @@ -163,7 +174,7 @@ - output values: multiple columns - column mismatch + output values: multiple columns - column not satisfied @@ -177,7 +188,7 @@ - output values: ? used in tests - match + output values: ? used in tests - satisfied foo @@ -186,7 +197,7 @@ - output values: ? used in tests - mismatch + output values: ? used in tests - not satisfied diff --git a/TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable.dmn b/TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable.dmn index 7f6cc1e0c..a22c80eef 100644 --- a/TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable.dmn +++ b/TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable.dmn @@ -12,7 +12,7 @@ - + @@ -37,7 +37,7 @@ - + @@ -62,7 +62,7 @@ - + @@ -87,7 +87,7 @@ - + @@ -113,7 +113,7 @@ - + @@ -138,7 +138,7 @@ - + @@ -165,8 +165,8 @@ - + special char "?", not is it a unary comparison .. so it is not satisfied --> + @@ -190,15 +190,14 @@ - - - + + + - 123 + "foo" ? @@ -207,7 +206,7 @@ - 123 + null "success" @@ -218,12 +217,13 @@ - + + - "foo" + true ? @@ -232,7 +232,7 @@ - "foo" + true "success" @@ -244,7 +244,7 @@ - + @@ -269,8 +269,8 @@ + in this case the input expression false will not satisfy unary tests and thus the + rule for null will be satisfied --> @@ -293,8 +293,39 @@ + + + + + + + false + + + + + + true + + + "fail" + + + + + false + + + "success" + + + + + - + @@ -319,7 +350,7 @@ - @@ -395,7 +426,7 @@ - + @@ -428,7 +459,7 @@ - + @@ -461,7 +492,7 @@ - + @@ -486,7 +517,7 @@ - + From dcb30935b19e160e0687c2e2f1b061d9107eba96 Mon Sep 17 00:00:00 2001 From: StrayAlien Date: Fri, 26 Jul 2024 14:56:39 +1000 Subject: [PATCH 3/3] assertions for input and output values unary tests in decision tables --- .../1157-unarytests-decisiontable-test-01.xml | 20 +++++ .../1157-unarytests-decisiontable.dmn | 90 +++++++++++++++++-- 2 files changed, 102 insertions(+), 8 deletions(-) diff --git a/TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable-test-01.xml b/TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable-test-01.xml index f0e2cc3dc..12cb0299a 100644 --- a/TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable-test-01.xml +++ b/TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable-test-01.xml @@ -123,6 +123,17 @@ + + + input values: boolean expression is weird + + + success + + + + output values: result satisfies output values @@ -205,4 +216,13 @@ + + input values: ? used in expression outside of unary tests expressions + + + success + + + + diff --git a/TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable.dmn b/TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable.dmn index a22c80eef..1c611b537 100644 --- a/TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable.dmn +++ b/TestCases/compliance-level-3/1157-unarytests-decisiontable/1157-unarytests-decisiontable.dmn @@ -191,8 +191,7 @@ - - + @@ -206,7 +205,7 @@ - null + "foo" "success" @@ -241,6 +240,32 @@ + + + + + + + + + false + + + ? + + + + + + false + + + "success" + + + + + @@ -324,6 +349,32 @@ + + + + + + + false + + + 1==1 + + + + + + null + + + "success" + + + + + @@ -524,12 +575,11 @@ 123 - - - + string length(?) >= 3 - - + + + 123 @@ -541,5 +591,29 @@ + + + + + + + 123 + + + [345, ? = 123, 456] + + + + + + null + + + "success" + + + + +