Tests FEEL built-in function for regular expresssion matching (matches)
003
Tests FEEL built-in function 'replace' on string literals
004
Tests FEEL built-in function for converting a number to a string
0003-iteration-test-01
001
0004-lending-test-01
001
0005-literal-invocation-test-01
001
002
003
0006-join-test-01
001
0007-date-time-test-01
001
0008-listGen-test-01
001
002
003
004
005
006
007
008
009
010
0009-append-flatten-test-01
001
0010-concatenate-test-01
001
0011-insert-remove-test-01
001
0012-list-functions-test-01
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
0013-sort-test-01
001
0014-loan-comparison-test-01
001
0016-some-every-test-01
001
decision_014
every: 'in' may appear in list identifier
decision_014a
some: 'in' may appear in list identifier
0017-tableTests-test-01
001
002
003
004
0020-vacation-days-test-01
001
002
003
004
005
006
007
0021-singleton-list-test-01
001
The purpose of this test is to check that the engine is properly coercing singleton lists into single elements (i.e., [a]=a)
0030-user-defined-functions-test-01
001
Tests simple user defined function definition and
invocation
0031-user-defined-functions-test-01
001
Tests user defined function invocation with positional
parameters
002
Tests user defined function invocation with named
parameters
003
Tests user defined function invocation with complex
parameters
0032-conditionals-test-01
001
Tests simple 'if' condition for true
002
Tests simple 'if' condition for false
003
Tests simple 'if' condition for null
004
Tests 'if' condition with function calls for true
005
Tests 'if' condition with function calls for false
006
Tests 'if' condition with function calls for null
0033-for-loops-test-01
001
Tests single variable iteration
002
Tests multi variable iteration
003
Tests single variable iteration with BKM call
004
Tests single variable iteration with inline list
0034-drg-scopes-test-01
001
Tests information requirements of decisions and knowledge requirements of business knowledge models
0035-test-structure-output-test-01
001
002
003
0036-dt-variable-input-test-01
_20445ee0-744d-4488-a90e-136701510871
Test different, higher values
_58109f16-2e9b-496e-bfff-5f0adbfa0279
Test different, lower values
_9d09e1a1-d573-42f0-a026-da811bb73eeb
Same values
0037-dt-on-bkm-implicit-params-test-01
_0de87bf9-0269-40b1-b7ac-767ae9a99b89
Male
_20d7e21f-f58f-4a78-8074-a70cbf13de83
Female
0038-dt-on-bkm-explicit-params-test-01
_b224d5f5-006f-43bb-9ace-e6af924dc2b3
Test Female
_bf27c25d-18f6-4891-8370-42d440709d90
Test Male
0039-dt-list-semantics-test-01
_a217c840-6ead-4cb7-a3e1-ad9df9c0c584
select 1 and 2
_07726176-a1a0-4e9e-9de2-16dba51556e2
select 2
0040-singlenestedcontext-test-01
001
002
003
0041-multiple-nestedcontext-test-01
001
002
003
0050-feel-abs-function-test-01
001
Assert on positive number
002
Assert on negative number
003
Assert on zero
004
Assert with no params
005
Assert with too many params
006
Assert with named param
007
Assert with incorrect named param
008
Assert with null param
009
Assert with string param
010
Assert with boolean param
011
Assert with negative days duration param
011_a
Assert with positive days duration param
012
Assert with negative months duration param
012_a
Assert with positive months duration param
013
Assert with date param
014
Assert with time param
015
Assert with datetime param
0051-feel-sqrt-function-test-01
001
Assert on positive number
002
Assert on negative number
003
Assert on zero
004
Assert with no params
005
Assert with too many params
006
Assert with named param
007
Assert with incorrect named param
008
Assert with null param
009
Assert with string param
010
Assert with boolean param
011
Assert with days duration param
012
Assert with months duration param
013
Assert with datetime param
014
Assert with time param
015
Assert with datetime param
0052-feel-exp-function-test-01
001
Assert on positive number
002
Assert on negative number
003
Assert on zero
004
Assert with no params
005
Assert with too many params
006
Assert with named param
007
Assert with incorrect named param
008
Assert with null param
009
Assert with string param
010
Assert with boolean param
011
Assert with days duration param
012
Assert with months duration param
013
Assert with date param
014
Assert with time param
015
Assert with datetime param
0053-feel-log-function-test-01
001
Assert on positive number
002
Assert on negative number
003
Assert on zero
004
Assert with no params
005
Assert with too many params
006
Assert with named param
007
Assert with incorrect named param
008
Assert with null param
009
Assert with string param
010
Assert with boolean param
011
Assert with days duration param
012
Assert with months duration param
013
Assert with date param
014
Assert with time param
015
Assert with datetime param
0054-feel-even-function-test-01
001
Assert on even positive number
001_a
Assert on positive odd number
002
Assert on negative even number
002_a
Assert on negative odd number
003
Assert on zero
004
Assert with no params
005
Assert with too many params
006
Assert with named param
007
Assert with incorrect named param
008
Assert with null param
009
Assert with string param
010
Assert with boolean param
011
Assert with days duration param
012
Assert with months duration param
013
Assert with date param
014
Assert with time param
015
Assert with datetime param
0055-feel-odd-function-test-01
001
Assert on even positive number
001_a
Assert on positive odd number
002
Assert on negative even number
002_a
Assert on negative odd number
003
Assert on zero
004
Assert with no params
005
Assert with too many params
006
Assert with named param
007
Assert with incorrect named param
008
Assert with null param
009
Assert with string param
010
Assert with boolean param
011
Assert with days duration param
012
Assert with months duration param
013
Assert with date param
014
Assert with time param
015
Assert with datetime param
0056-feel-modulo-function-test-01
001
Assert on positive numbers
001_a
Assert on negative divisor
002
Assert on negative dividend
003
Assert on zero dividend
003_a
Assert on zero divisor
004
Assert with no params
005
Assert with too few params
005_a
Assert with too many params
006
Assert with named param
007
Assert with incorrect named param
008
Assert with null params
008_a
Assert with null params
008_b
Assert with null params
009
Assert with string param
010
Assert with boolean param
011
Assert with days duration param
012
Assert with months duration param
013
Assert with date param
014
Assert with time param
015
Assert with datetime param
016a
Example from the DMN Specification, ref DMN13-125
016b
Example from the DMN Specification, ref DMN13-125
016c
Example from the DMN Specification, ref DMN13-125
016d
Example from the DMN Specification, ref DMN13-125
017a
Example from the DMN Specification, ref DMN13-125
017b
Example from the DMN Specification, ref DMN13-125
017c
Example from the DMN Specification, ref DMN13-125
017d
Example from the DMN Specification, ref DMN13-125
0057-feel-context-test-01
001
creation of simple context
002
nested context
003
previous entries in scope for later entries
003_a
previous entries in scope for later (nested) entries
004
spaces permitted in name
005
extra chars permtted in name
006
string literal permitted as name
007
empty string literal permitted as name
008
duplicate context entry keys not allowed (DMN14-178), results in null
009
non-existing member access results in null
010
non-existing member access (on null)
0058-feel-number-function-test-01
001
002
003
Grouping separator may be a space
003_a
Grouping separator mismatch will result in null
004
Grouping separator may not be a char other than "," or "." or space
004_a
Grouping separator must be a string
004_b
Decimal separator may not be a char other than "," or "."
004_c
Decimal separator must be a string
005
Grouping separator may be null when input has no group separators
006
will not error when grouping separator is null and ',' group separators exist
007
Decimal separator may be null when no decimal point
008
will not error when decimal separator is null and decimal point exists
009
decimal and group separators not be the same
010
decimal and group separators may not be the same
011
'from' may not be null
012
'from' must be a string
013
valid named params
014
invalid named params
015
invalid 'from'
016
will error when to few params
017
will error when too many params
0059-feel-all-function-test-01
001
return false if any item is false
002
return true if all items are true
003
return null if any item is not true or false
004
return null if any item is not true or false
005
return true for empty list
006
return true for singleton true
007
return false for singleton false
008
return null for singleton null
009
return null for singleton non-boolean
010
return false if any vararg item is false
011
return true if all vararg items are true
012
return null if any vararg item is not true or false
013
return null if any vararg item is not true or false
014
return error when no params
015
return false if any item is false with named param
016
return true if all items are true with named param
017
return null if any item is not true or false - with named param
018
return null when named param is null
019
will error when wrongly named param
0060-feel-any-function-test-01
001
return true if any item is true
002
return false if all items are false
004
return null if any item not true and not all false
005
return false for empty list
006
return true for singleton true
007
return false for singleton false
008
return null for singleton null
009
return null for singleton non-boolean
010
return true if any vararg item is true
011
return false if all vararg items are false
012
return null if not all vararg items are true and none are false false
014
return error when no params
015
return true if any item is true with named param
016
return false if all items are false with named param
017
return null if none true and not all false - with named param
018
return error when named param is null
019
will error when wrongly named param
0061-feel-median-function-test-01
001
will return median for even list size
002
will return median for odd list size
003
will error when no params
003_a
will error when null param
004
will error when list item not a number
005
will error when list item not a number
006
will median to decimals
007
will return null for empty list
008
will coerce singleton list
009
will return median for even varargs list size
010
will return median for odd varargs list size
011
will return median - named param
012
will error when null named param
013
will error when wrongly named param
0062-feel-mode-function-test-01
001
will return median for even list size
002
will return median for odd list size
003
will error when no params
003_a
will error when null param
004
will error when list item not a number
005
will error when list item not a number
006
will median to decimals
007
will return empty list when param is empty list
008
will coerce singleton list
009
will return median for varargs list
011
will return median for named params
012
will error when null named param
013
will error when wrongly named param
0063-feel-stddev-function-test-01
001
will return stddev
003
will error when no params
003_a
will error when null param
004
will error when list item not a number
005
will error when list item not a number
007
will return null for empty list
008
will error when a single item. Note, the example given in the spec can only be calculated using
'sample' stddev algorithm, not the 'population' algorithm. For the 'sample' algorithm, the stdev result
of a single item is undefined as part of the calculation is a division by the (sample size - 1).
Which, with a sample size of 1, results in a divide by zero error.
008_a
will error when a list with a single item.
009
will return stddev for varargs list
011
will return stddev - named param
012
will error when null named param
013
will error when wrongly named param
0064-feel-conjunction-test-01
001
002
003_a
003_b
003_c
004
005
006_a
006_b
006_c
007_a
007_b
007_c
008_a
008_b
008_c
009_a
009_b
009_c
0065-feel-disjunction-test-01
001
002
003_a
003_b
003_c
004
005
006_a
006_b
006_c
007_a
007_b
007_c
008_a
008_b
008_c
009_a
009_b
009_c
0066-feel-negation-test-01
001
002
003_a
003_b
003_c
003_d
0067-feel-split-function-test-01
001
will split
001_a
Will split
004
Assert with no params
005
Assert with too few params
006
Assert with named param
007
Assert with incorrect named param
008
Assert with null params
008_a
Assert with null params
008_b
Assert with null params
0068-feel-equality-test-01
null_001
null equals null
null_002
null not equals null
boolean_001
boolean true equal
boolean_002
boolean true not equal
boolean_003
boolean true equal
boolean_004
boolean true not equal
boolean_005
boolean true not equal false
boolean_006
boolean true equals null
boolean_007
boolean false equals null
boolean_008
boolean false equals another type (0)
boolean_009
boolean true equals another type (1)
number_001
num equal
number_002
num with digits equal
number_003
zero equality
number_004
negative zero equality
number_005
negative inequality
number_006
number equals null
number_007
number equals another type
number_008
number equals literal 'e' exponent number with default sign
number_009
number equals literal 'e' exponent number with '+' sign
number_010
number equals literal 'e' exponent number with '-' sign
string_001
string equals
string_002
string case sensitive
string_003
string not equals
string_004
string equals null
string_005
string equals another type
list_001
list equal
list_002
lists of different lengths not equal
list_003
lists of same length with diff contents not equal
list_004
empty lists equal
list_005
list with same content but different order not equal
list_006
non list boolean of index 1 equals boolean
list_007
non list number of index 1 equals number
list_008
non list string of index 1 equals string
list_009
non list date of index 1 equals date
list_010
non list time of index 1 equals time
list_011
non list date time of index 1 equals date time
list_012
non list days duration of index 1 equals days duration
list_013
non list years duration of index 1 equals years duration
list_014
non list context of index 1 equals context
list_015
list equals null
list_016
list equals another type
context_001
empty contexts equal
context_002
contexts with same properties in same order equal
context_003
contexts with same properties in different order equal
context_004
string literal name equal to non-string-literal name
context_005
context with same name and different values not equal
context_006
context equals null
context_007
context equals another type
date_001
same dates are equal
date_002
different dates are not equal
date_003
date equals null
date_004
date equals another type
time_001
same times are equal
time_002
different times are not equal: hours
time_002_a
different times are not equal: minutes
time_002_b
different times are not equal: seconds
time_003
same times with zero milliseconds are equal
time_004
same times with same milliseconds are equal
time_005
same times with different milliseconds are equal as value resolution is seconds
time_006
same times in same zone are equal
time_010
same times = one with Z zone, the other with UTC are equal
time_011
time equals null
time_012
time equals another type
datetime_001
same datetimes are equal
datetime_002
datetimes with no time is equal to datetime with zero time
datetime_003
datetimes with same milliseconds are equal
datetime_003_a
datetimes with different milliseconds are equal as resolution is to the second
datetime_004
different datetimes are not equal
datetime_005
same datetimes in same zone are equal
datetime_006
same datetimes in different zones are not equal
datetime_008
same datetimes, one with offset and the other with zone are equal
datetime_008_a
same datetimes, one with offset and the other with zone are equal - DST
datetime_008_b
same datetimes, with same offsets but different zones equal
datetime_009
datetime with zero offset is equal to utc zone
datetime_010
datetime equals null
datetime_011
datetime equals another type
datetime_012
datetime: different times in different zones can be equal
datetime_013
datetime: different times in different zones can be equal (with negative offset)
dt_duration_001
same durations are equal
dt_duration_002
equivalent durations are (erm) equal
dt_duration_003
different durations are not equal
dt_duration_004
negative non-zero durations of same amount are not equal
dt_duration_005
negative zero duration and zero duration are equal
dt_duration_006
dt duration equals null
dt_duration_007
dt duration equals another type
ym_duration_001
same durations are equal
ym_duration_002
equivalent durations are (erm) equal
ym_duration_003
different durations are not equal
ym_duration_004
negative non-zero durations of same amount are not equal
ym_duration_005
negative zero duration and zero duration are equal
ym_duration_006
years/months duration not equal to days/hours duration of same amount
ym_duration_007
years/months duration equals null
ym_duration_008
years/months duration equals another type
deep_001
deep array equality
deep_002
deep array equality
deep_003
deep array in-equality
deep_004
deep array in-equality
deep_005
deep context equality
deep_006
deep context equality
deep_007
deep context in-equality
range_001
ranges with same endpoint and inclusivity are equal
range_002
ranges with different upper endpoints are not equal
range_003
ranges with different lower endpoints are not equal
range_004
ranges with same endpoints, but same though syntactically different lower inclusivity are equal
range_005
ranges with same endpoints, but same though syntactically different upper inclusivity are equal
range_006
equal ranges though syntactically different are not equal: LT
range_006_a
unary syntax comparison range LT
range_007
equal ranges though syntactically different are not equal: LE
range_008
equal ranges though syntactically different are not equal: GT
range_009
equal ranges though syntactically different are not equal: GE
range_010
equal ranges though syntactically different are not equal: EQ
range_011
unary syntax comparison range EQ
range_012
unary syntax comparison range NE
0069-feel-list-test-01
001
creation of list
001_a
creation of empty list
002
access of index 0
003
access of index > size
004
access of first element
005
access of last element
006
access of negative element
007
access of negative element
008
access of negative element > -size
009
true boolean index element gives entire list
010
false boolean index element gives empty list
011
filter expression using item
012
true filter expression on non list - boolean
013
false filter expression on non list - boolean
014
true filter expression on non list - number
015
false filter expression on non list - number
016
true filter expression on non list - string
017
false filter expression on non list - string
018
index of 1 on non list - boolean
019
index of 1 on non list - number
020
index of 1 on non list - string
021
index of 0 on non list - boolean
022
index of 0 on non list - number
023
index of 0 on non list - string
024
filter on context using item
025
filter on context using property name
026
filter on context using property 'item' name
027
filter on scalars (10.3.2.5 - example 1)
028
filter on property name (10.3.2.5 - example 2)
029
filter on property name + null value (10.3.2.5 - example 3)
030
path expression (10.3.2.5 - example 4)
031
filter / non-member matching (empty)
032
filter / non-member matching (single result)
033
path expression / no match
034
path expression / partial match
0070-feel-instance-of-test-01
null_001
null instance of Any is false
null_002
null instance of number is false
null_003
null instance of string is false
null_004
null instance of boolean is false
null_005
null instance of date is false
null_006
null instance of time is false
null_007
null instance of date and time is false
null_008
null instance of list is false
null_009
null instance of years and months duration is false
null_010
null instance of days and time duration is false
null_012
null instance of function is false
number_001
number instance of Any is true
number_002
number instance of number is true
number_003
number instance of string is false
number_004
number instance of boolean is false
number_005
number instance of date is false
number_006
number instance of time is false
number_007
number instance of date and time is false
number_008
number instance of list is false
number_009
number instance of years and months duration is false
number_010
number instance of days and time duration is false
number_012
number instance of function is false
number_013
type conformance does not take into account allowedValues
string_001
string instance of Any is true
string_002
string instance of number is false
string_003
string instance of string is true
string_004
string instance of boolean is false
string_005
string instance of date is false
string_006
string instance of time is false
string_007
string instance of date and time is false
string_008
string instance of list is false
string_009
string instance of years and months duration is false
string_010
string instance of days and time duration is false
string_012
string instance of function is false
string_013
string type conformance does not take into account allowedValues
boolean_001
boolean instance of Any is true
boolean_002
boolean instance of number is false
boolean_003
boolean instance of string is false
boolean_004
boolean instance of boolean is true
boolean_005
boolean instance of date is false
boolean_006
boolean instance of time is false
boolean_007
boolean instance of date and time is false
boolean_008
boolean instance of list is false
boolean_009
boolean instance of years and months duration is false
boolean_010
boolean instance of days and time duration is false
boolean_012
boolean instance of function is false
date_001
date instance of Any is true
date_002
date instance of number is false
date_003
date instance of string is false
date_004
date instance of boolean is false
date_005
date instance of date is true
date_006
date instance of time is false
date_007
date instance of date and time is false - spec 1.2 "Examples of equivalence
and conformance relations" table shows date and confirming to date
and time - which I believe is wrong - it is the other way around
date_008
date instance of list is false
date_009
date instance of years and months duration is false
date_010
date instance of days and time duration is false
date_012
date instance of function is false
time_001
time instance of Any is true
time_002
time instance of number is false
time_003
time instance of string is false
time_004
time instance of boolean is false
time_005
time instance of date is false
time_006
time instance of time is true
time_007
time instance of date and time is false
time_008
time instance of list is false
time_009
time instance of years and months duration is false
time_010
time instance of days and time duration is false
time_012
time instance of function is false
list_001
list instance of Any is true
list_002
list instance of number is false
list_003
list instance of string is false
list_004
list instance of boolean is false
list_005
list instance of date is false
list_006
list instance of time is false
list_007
list instance of date and time is false
list_008
list instance of list is rrue
list_009
list instance of years and months duration is false
list_010
list instance of days and time duration is false
list_012
list instance of function is false
list_013
list instance with same itemtype is true
list_014
list instance with different itemtypes is list Any
list_014_a
empty list is list Any
list_015
list instance with different item types is not a list of (say) number
list_016
singleton list is not instance of element type
list_017
primitive is not instance of list of same type
list_018
list is an instance of inline list of itemdefinition context type
list_019
list is not an instance of inline list of inline context type
list_020
list is an instance of inline list of inline context type
ym_duration_001
years and months duration instance of Any is true
ym_duration_002
years and months duration instance of number is false
ym_duration_003
years and months duration instance of string is false
ym_duration_004
years and months duration instance of boolean is false
ym_duration_005
years and months duration instance of date is false
ym_duration_006
years and months duration instance of time is false
ym_duration_007
years and months duration instance of date and time is false
ym_duration_008
years and months duration instance of list is false
ym_duration_009
years and months duration instance of years and months duration is true
ym_duration_010
years and months duration instance of days and time duration is false
ym_duration_012
years and months duration instance of function is false
dt_duration_001
days and time duration instance of Any is true
dt_duration_002
days and time duration instance of number is false
dt_duration_003
days and time duration instance of string is false
dt_duration_004
days and time duration instance of boolean is false
dt_duration_005
days and time duration instance of date is false
dt_duration_006
days and time duration instance of time is false
dt_duration_007
days and time duration instance of date and time is false
dt_duration_008
days and time durationinstance of list is false
dt_duration_009
days and time duration instance of years and months duration is false
dt_duration_010
days and time duration instance of days and time duration is true
dt_duration_012
days and time duration instance of function is false
context_001
context instance of Any is true
context_002
context instance of number is false
context_003
context instance of string is false
context_004
context instance of boolean is false
context_005
context instance of date is false
context_006
context instance of time is false
context_007
context instance of date and time is false
context_008
context instance of list is false
context_009
context instance of years and months duration is false
context_010
context instance of days and time duration is false
context_012
context instance of function is false
context_013
context instance of context with same property names is true
context_014
context instance with superset of type property names is true
context_015
context instance with subset of type property names is false
context_016
context instance with same property names but different types is false
context_018
context instance conforms to equivalent type
context_019
context with null value conforms to specific type
context_020
context with multiple properties conforms to type with equivalent single property
context_021
context with multiple properties conforms to type with equivalent multiple properties
context_022
context with non-conforming property does not match type
context_023
context with nested context conforms to type
context_024
context with nested context dot not conform to type
function_001
function instance of Any is true
function_002
function instance of number is false
function_003
function instance of string is false
function_004
function instance of boolean is false
function_005
function instance of date is false
function_006
function instance of time is false
function_007
function instance of date and time is false
function_008
function instance of list is false
function_009
function instance of years and months duration is false
function_010
function instance of days and time duration is false
0071-feel-between-test-01
number_001
before
number_002
start
number_003
between
number_004
end
number_005
after
string_001
before
string_002
start
string_003
between
string_004
end
string_005
after
date_001
before
date_002
start
date_003
between
date_004
end
date_005
after
time_001
before
time_002
start
time_003
between
time_004
end
time_005
after
datetime_001
before
datetime_002
start
datetime_003
between
datetime_004
end
datetime_005
after
ym_duration_001
before
ym_duration_002
start
ym_duration_003
between
ym_duration_004
end
ym_duration_005
after
dt_duration_001
before
dt_duration_002
start
dt_duration_003
between
dt_duration_004
end
dt_duration_005
after
null_001
null test value
null_002
null start value
null_003
null end value
0072-feel-in-test-01
number_001
number: e1 in [e2,e3,…] (endpoints)
number_001_a
number: e1 in [e2,e3,…] (endpoints)
number_002
number: e1 in [e2,e3,…] (ranges)
number_002_a
number: e1 in [e2,e3,…] (ranges)
number_003
number: e1 in <=e2
number_003_1
number: e1 in <=e2
number_003_a
number: e1 in <=e2
number_004
number: e1 in
number_004_a
number: e1 in
number_005
number: e1 in >=e2
number_005_1
number: e1 in >=e2
number_005_a
number: e1 in >=e2
number_006
number: e1 in >e2
number_006_a
number: e1 in >e2
number_007_a
number: e1 in (e2..e3)
number_007_b
number: e1 in (e2..e3)
number_007_c
number: e1 in (e2..e3)
number_007_d
number: e1 in (e2..e3)
number_007_e
number: e1 in (e2..e3)
number_008_a
number: e1 in (e2..e3]
number_008_b
number: e1 in (e2..e3]
number_008_c
number: e1 in (e2..e3]
number_008_d
number: e1 in (e2..e3]
number_008_e
number: e1 in (e2..e3]
number_009_a
number: e1 in [e2..e3)
number_009_b
number: e1 in [e2..e3)
number_009_c
number: e1 in [e2..e3)
number_009_d
number: e1 in [e2..e3)
number_009_e
number: e1 in [e2..e3)
number_010_a
number: e1 in [e2..e3]
number_010_b
number: e1 in [e2..e3]
number_010_c
number: e1 in [e2..e3]
number_010_d
number: e1 in [e2..e3]
number_010_e
number: e1 in [e2..e3]
number_011
number: e1 in e2
number_014
number: e1 in unary tests
number_014_a
number: e1 in unary tests
string_001
string: e1 in [e2,e3,…] (endpoints)
string_001_a
string: e1 in [e2,e3,…] (endpoints)
string_002
string: e1 in [e2,e3,…] (ranges)
string_002_a
string: e1 in [e2,e3,…] (ranges)
string_003
string: e1 in <=e2
string_003_1
string: e1 in <=e2
string_003_a
string: e1 in <=e2
string_004
string: e1 in
string_004_a
string: e1 in
string_005
string: e1 in >=e2
string_005_1
string: e1 in >=e2
string_005_a
string: e1 in >=e2
string_006
string: e1 in >e2
string_006_a
string: e1 in >e2
string_007_a
string: e1 in (e2..e3)
string_007_b
string: e1 in (e2..e3)
string_007_c
string: e1 in (e2..e3)
string_007_d
string: e1 in (e2..e3)
string_007_e
string: e1 in (e2..e3)
string_008_a
string: e1 in (e2..e3]
string_008_b
string: e1 in (e2..e3]
string_008_c
string: e1 in (e2..e3]
string_008_d
string: e1 in (e2..e3]
string_008_e
string: e1 in (e2..e3]
string_009_a
string: e1 in [e2..e3)
string_009_b
string: e1 in [e2..e3)
string_009_c
string: e1 in [e2..e3)
string_009_d
string: e1 in [e2..e3)
string_009_e
string: e1 in [e2..e3)
string_010_a
string: e1 in [e2..e3]
string_010_b
string: e1 in [e2..e3]
string_010_c
string: e1 in [e2..e3]
string_010_d
string: e1 in [e2..e3]
string_010_e
string: e1 in [e2..e3]
string_011
string: e1 in e2
string_014
string: e1 in unary tests
string_014_a
string: e1 in unary tests
boolean_001
boolean: e1 in [e2,e3,…] (endpoints)
boolean_001_a
boolean: e1 in [e2,e3,…] (endpoints)
boolean_011
boolean: e1 in e2
boolean_014
boolean: e1 in unary tests
boolean_014_a
boolean: e1 in unary tests
date_001
date: e1 in [e2,e3,…] (endpoints)
date_001_a
date: e1 in [e2,e3,…] (endpoints)
date_002
date: e1 in [e2,e3,…] (ranges)
date_002_a
date: e1 in [e2,e3,…] (ranges)
date_003
date: e1 in <=e2
date_003_1
date: e1 in <=e2
date_003_a
date: e1 in <=e2
date_004
date: e1 in
date_004_a
date: e1 in
date_005
date: e1 in >=e2
date_005_1
date: e1 in >=e2
date_005_a
string: e1 in >=e2
date_006
date: e1 in >e2
date_006_a
string: e1 in >e2
date_007_a
date: e1 in (e2..e3)
date_007_b
date: e1 in (e2..e3)
date_007_c
date: e1 in (e2..e3)
date_007_d
date: e1 in (e2..e3)
date_007_e
date: e1 in (e2..e3)
date_008_a
date: e1 in (e2..e3]
date_008_b
date: e1 in (e2..e3]
date_008_c
date: e1 in (e2..e3]
date_008_d
date: e1 in (e2..e3]
date_008_e
date: e1 in (e2..e3]
date_009_a
date: e1 in [e2..e3)
date_009_b
date: e1 in [e2..e3)
date_009_c
date: e1 in [e2..e3)
date_009_d
date: e1 in [e2..e3)
date_009_e
date: e1 in [e2..e3)
date_010_a
date: e1 in [e2..e3]
date_010_b
date: e1 in [e2..e3]
date_010_c
date: e1 in [e2..e3]
date_010_d
date: e1 in [e2..e3]
date_010_e
date: e1 in [e2..e3]
date_011
date: e1 in e2
date_014
date: e1 in unary tests
date_014_a
date: e1 in unary tests
time_001
time: e1 in [e2,e3,…] (endpoints)
time_001_a
time: e1 in [e2,e3,…] (endpoints)
time_002
time: e1 in [e2,e3,…] (ranges)
time_002_a
time: e1 in [e2,e3,…] (ranges)
time_003
time: e1 in <=e2
time_003_1
time: e1 in <=e2
time_003_a
time: e1 in <=e2
time_004
time: e1 in
time_004_a
time: e1 in
time_005
time: e1 in >=e2
time_005_1
time: e1 in >=e2
time_005_a
time: e1 in >=e2
time_006
time: e1 in >e2
time_006_a
time: e1 in >e2
time_007_a
time: e1 in (e2..e3)
time_007_b
time: e1 in (e2..e3)
time_007_c
time: e1 in (e2..e3)
time_007_d
time: e1 in (e2..e3)
time_007_e
time: e1 in (e2..e3)
time_008_a
time: e1 in (e2..e3]
time_008_b
time: e1 in (e2..e3]
time_008_c
time: e1 in (e2..e3]
time_008_d
time: e1 in (e2..e3]
time_008_e
time: e1 in (e2..e3]
time_009_a
time: e1 in [e2..e3)
time_009_b
time: e1 in [e2..e3)
time_009_c
time: e1 in [e2..e3)
time_009_d
time: e1 in [e2..e3)
time_009_e
time: e1 in [e2..e3)
time_010_a
time: e1 in [e2..e3]
time_010_b
time: e1 in [e2..e3]
time_010_c
time: e1 in [e2..e3]
time_010_d
time: e1 in [e2..e3]
time_010_e
time: e1 in [e2..e3]
time_011
time: e1 in e2
time_014
time: e1 in unary tests
time_014_a
time: e1 in unary tests
dateTime_001
dateTime: e1 in [e2,e3,…] (endpoints)
dateTime_001_a
dateTime: e1 in [e2,e3,…] (endpoints)
dateTime_002
dateTime: e1 in [e2,e3,…] (ranges)
dateTime_002_a
dateTime: e1 in [e2,e3,…] (ranges)
dateTime_003
dateTime: e1 in <=e2
dateTime_003_1
dateTime: e1 in <=e2
dateTime_003_a
dateTime: e1 in <=e2
dateTime_004
dateTime: e1 in
dateTime_004_a
dateTime: e1 in
dateTime_005
dateTime: e1 in >=e2
dateTime_005_1
dateTime: e1 in >=e2
dateTime_005_a
dateTime: e1 in >=e2
dateTime_006
dateTime: e1 in >e2
dateTime_006_a
dateTime: e1 in >e2
dateTime_007_a
dateTime: e1 in (e2..e3)
dateTime_007_b
dateTime: e1 in (e2..e3)
dateTime_007_c
dateTime: e1 in (e2..e3)
dateTime_007_d
dateTime: e1 in (e2..e3)
dateTime_007_e
dateTime: e1 in (e2..e3)
dateTime_008_a
dateTime: e1 in (e2..e3]
dateTime_008_b
dateTime: e1 in (e2..e3]
dateTime_008_c
dateTime: e1 in (e2..e3]
dateTime_008_d
dateTime: e1 in (e2..e3]
dateTime_008_e
dateTime: e1 in (e2..e3]
dateTime_009_a
dateTime: e1 in [e2..e3)
dateTime_009_b
dateTime: e1 in [e2..e3)
dateTime_009_c
dateTime: e1 in [e2..e3)
dateTime_009_d
dateTime: e1 in [e2..e3)
dateTime_009_e
dateTime: e1 in [e2..e3)
dateTime_010_a
dateTime: e1 in [e2..e3]
dateTime_010_b
dateTime: e1 in [e2..e3]
dateTime_010_c
dateTime: e1 in [e2..e3]
dateTime_010_d
dateTime: e1 in [e2..e3]
dateTime_010_e
dateTime: e1 in [e2..e3]
dateTime_011
dateTime: e1 in e2
dateTime_014
dateTime: e1 in unary tests
dateTime_014_a
dateTime: e1 in unary tests
list_001
list: e1 in [e2,e3,…] (endpoints)
list_001_a
list: e1 in [e2,e3,…] (endpoints)
list_011_a
list: e1 in e2
list_011_b
list: e1 in e2
list_014_a
list: e1 in unary tests
context_001
context: e1 in [e2,e3,…] (endpoints)
context_001_a
context: e1 in [e2,e3,…] (endpoints)
context_011
context: e1 in e2
context_014
context: e1 in unary tests
context_014_a
context: e1 in unary tests
ym_duration_001
ym_duration: e1 in [e2,e3,…] (endpoints)
ym_duration_001_a
ym_duration: e1 in [e2,e3,…] (endpoints)
ym_duration_002
ym_duration: e1 in [e2,e3,…] (ranges)
ym_duration_002_a
ym_duration: e1 in [e2,e3,…] (ranges)
ym_duration_003
ym_duration: e1 in <=e2
ym_duration_003_1
ym_duration: e1 in <=e2
ym_duration_003_a
ym_duration: e1 in <=e2
ym_duration_004
ym_duration: e1 in
ym_duration_004_a
ym_duration: e1 in
ym_duration_005
ym_duration: e1 in >=e2
ym_duration_005_1
ym_duration: e1 in >=e2
ym_duration_005_a
ym_duration: e1 in >=e2
ym_duration_006
ym_duration: e1 in >e2
ym_duration_006_a
ym_duration: e1 in >e2
ym_duration_007_a
ym_duration: e1 in (e2..e3)
ym_duration_007_b
ym_duration: e1 in (e2..e3)
ym_duration_007_c
ym_duration: e1 in (e2..e3)
ym_duration_007_d
ym_duration: e1 in (e2..e3)
ym_duration_007_e
ym_duration: e1 in (e2..e3)
ym_duration_008_a
ym_duration: e1 in (e2..e3]
ym_duration_008_b
ym_duration: e1 in (e2..e3]
ym_duration_008_c
ym_duration: e1 in (e2..e3]
ym_duration_008_d
ym_duration: e1 in (e2..e3]
ym_duration_008_e
ym_duration: e1 in (e2..e3]
ym_duration_009_a
ym_duration: e1 in [e2..e3)
ym_duration_009_b
ym_duration: e1 in [e2..e3)
ym_duration_009_c
ym_duration: e1 in [e2..e3)
ym_duration_009_d
ym_duration: e1 in [e2..e3)
ym_duration_009_e
ym_duration: e1 in [e2..e3)
ym_duration_010_a
ym_duration: e1 in [e2..e3]
ym_duration_010_b
ym_duration: e1 in [e2..e3]
ym_duration_010_c
ym_duration: e1 in [e2..e3]
ym_duration_010_d
ym_duration: e1 in [e2..e3]
ym_duration_010_e
ym_duration: e1 in [e2..e3]
ym_duration_011
ym_duration: e1 in e2
ym_duration_014
ym_duration: e1 in unary tests
ym_duration_014_a
ym_duration: e1 in unary tests
dt_duration_001
dt_duration: e1 in [e2,e3,…] (endpoints)
dt_duration_001_a
dt_duration: e1 in [e2,e3,…] (endpoints)
dt_duration_002
dt_duration: e1 in [e2,e3,…] (ranges)
dt_duration_002_a
dt_duration: e1 in [e2,e3,…] (ranges)
dt_duration_003
dt_duration: e1 in <=e2
dt_duration_003_1
dt_duration: e1 in <=e2
dt_duration_003_a
dt_duration: e1 in <=e2
dt_duration_004
dt_duration: e1 in
dt_duration_004_a
dt_duration: e1 in
dt_duration_005
dt_duration: e1 in >=e2
dt_duration_005_1
dt_duration: e1 in >=e2
dt_duration_005_a
dt_duration: e1 in >=e2
dt_duration_006
dt_duration: e1 in >e2
dt_duration_006_a
dt_duration: e1 in >e2
dt_duration_007_a
dt_duration: e1 in (e2..e3)
dt_duration_007_b
dt_duration: e1 in (e2..e3)
dt_duration_007_c
dt_duration: e1 in (e2..e3)
dt_duration_007_d
dt_duration: e1 in (e2..e3)
dt_duration_007_e
dt_duration: e1 in (e2..e3)
dt_duration_008_a
dt_duration: e1 in (e2..e3]
dt_duration_008_b
dt_duration: e1 in (e2..e3]
dt_duration_008_c
dt_duration: e1 in (e2..e3]
dt_duration_008_d
dt_duration: e1 in (e2..e3]
dt_duration_008_e
dt_duration: e1 in (e2..e3]
dt_duration_009_a
dt_duration: e1 in [e2..e3)
dt_duration_009_b
dt_duration: e1 in [e2..e3)
dt_duration_009_c
dt_duration: e1 in [e2..e3)
dt_duration_009_d
dt_duration: e1 in [e2..e3)
dt_duration_009_e
dt_duration: e1 in [e2..e3)
dt_duration_010_a
dt_duration: e1 in [e2..e3]
dt_duration_010_b
dt_duration: e1 in [e2..e3]
dt_duration_010_c
dt_duration: e1 in [e2..e3]
dt_duration_010_d
dt_duration: e1 in [e2..e3]
dt_duration_010_e
dt_duration: e1 in [e2..e3]
dt_duration_011
dt_duration: e1 in e2
dt_duration_014
dt_duration: e1 in unary tests
dt_duration_014_a
dt_duration: e1 in unary tests
0073-feel-comments-test-01
decision_001
decision_002
decision_003
0074-feel-properties-test-01
context_001
date_001
date - year
date_002
date - month
date_003
date - day
date_004
date - weekday
dateTime_001
dateTime - year
dateTime_002
dateTime - month
dateTime_003
dateTime - day
dateTime_004
dateTime - weekday
dateTime_005
dateTime - hour
dateTime_005_a
dateTime - hour when no time specified
dateTime_006
dateTime - minute
dateTime_006_a
dateTime - minute when no time specified
dateTime_007
dateTime - second
dateTime_007_a
dateTime - second when no time specified
dateTime_008
dateTime - time offset when set
dateTime_008_a
dateTime - time offset when not set
dateTime_009
dateTime - timezone when set
dateTime_009_a
dateTime - timezone when not set
time_001
time - hour
time_002
time - minute
time_003
time - second
time_004
time - time offset when set
time_004_a
time - time offset when not set
time_005_a
time - timezone when not set
ym_duration_001
ym duration - years
ym_duration_001_a
ym duration - years not set
ym_duration_002
ym duration - month
ym_duration_002_a
ym duration - months not set
ym_duration_003
ym duration - days is null
ym_duration_004
ym duration - hours is null
ym_duration_005
ym duration - minutes is null
ym_duration_006
ym duration - seconds is null
dt_duration_001
dt duration - years is null
dt_duration_002
dt duration - months is null
dt_duration_003
dt duration - days
dt_duration_003_a
dt duration - days is not set
dt_duration_004
dt duration - hours
dt_duration_004_a
dt duration - hours is not set
dt_duration_005
dt duration - minutes
dt_duration_005_a
dt duration - minutes is not set
dt_duration_006
dt duration - seconds
dt_duration_006_a
dt duration - seconds is not set
range_001
range - start
range_002
range - end
range_003
range - start included
range_004
range - start included '(' syntax
range_005
range - start included ']' syntax
range_006
range - end included
range_007
range - end included ')' syntax
range_008
range - end included '[' syntax
range_009
range - start: LT unary syntax
range_010
range - start: LE unary syntax
range_011
range - start: GT unary syntax
range_012
range - start: GE unary syntax
range_013
range - end: LT unary syntax
range_014
range - end: LE unary syntax
range_015
range - end: GT unary syntax
range_016
range - end: GE unary syntax
range_017
range - start included: LT unary syntax
range_018
range - start included: LE unary syntax
range_019
range - start included: GT unary syntax
range_020
range - start included: GE unary syntax
range_021
range - end included: LT unary syntax
range_022
range - end included: LE unary syntax
range_023
range - end included: GT unary syntax
range_024
range - end included: GE unary syntax
0075-feel-exponent-test-01
decision_001
exponent is LEFT associative!!
decision_001_a
-a**b parses as (-a)**b not -(a**b)
decision_002
string exponent is null
decision_003
boolean exponent is null
decision_004
date exponent is null
decision_005
time exponent is null
decision_006
date time exponent is null
decision_007
ym duration exponent is null
decision_008
dt duration exponent is null
decision_009
context exponent is null
decision_010
list exponent is null
decision_011
function exponent is null
0076-feel-external-java-test-01
boxed_001
boxed external function definition
incorrect_001
no method on class
incorrect_002
no class
incorrect_003
no matching signature on class
literal_001
external function definition - single param
literal_002
external function definition - two params - double
literal_003
external function definition overrides built in function
literal_004
external function definition - int
literal_005
external function definition - short
literal_006
external function definition - byte
literal_007
external function definition - char
literal_007_a
external function definition - char
literal_008
external function definition - long
literal_009
external function definition - float
literal_010
external function definition - string
literal_011
external function definition - string to float (Java float -> BigDecimal is sometimes not quite exact)
literal_012
external function definition - string to double (Java double -> BigDecimal is sometimes not quite exact)
varargs_001
external function definition - varargs func
0077-feel-nan-test-01
decision_001
NaN from zero integer division
0078-feel-infinity-test-01
decision_001
Positive infinity is null
decision_002
Negative infinity is null
0080-feel-getvalue-function-test-01
decision_001
no param
decision_002
only one param
decision_003
too many params
decision_004
get a value
decision_005
not a map as first param
decision_006
not a string as second param
decision_007
named params
decision_008
badly named params
decision_009
null map param
decision_010
null key param
decision_011
null context param
decision_012
null item value stored in context
decision_013
non literal key of string type
decision_014
non literal key of incorrect type
0081-feel-getentries-function-test-01
decision_001
no param
decision_002
two many params
decision_003
null params
decision_004
get a value
decision_005
named param
decision_006
bad named param
decision_007
not a map as param
decision_008
not a map as param
decision_009
empty map as param
0082-feel-coercion-test-01
decision_001
type mismatch - decision return value is null coerced
decision_003
list type mismatch - decision return value is null coerced
decision_004
type permitted - conforming context
decision_005
context type mismatch - decision return value is null coerced
decision_006_a
decision type is list but return val is non-conforming val - coercion to null
decision_007
decision returns singleton list value but type is not a list - coercion list to val
decision_007_a
decision type is value but return val is non-conforming singleton list - coercion to null
decision_008
decision type is list but return val null - null cannot be coerced so no singleton list coercion
decision_bkm_001
pass conforming context type to bkm
decision_bkm_002
pass non-conforming type to bkm - bkm is never invoked
decision_bkm_003
BKM logic returns non-conforming value to bkm variable typeRef - bk result is null coerced
decision_bkm_004_a
bkm type is list and bkm logic returns non-conforming (non-list) value - coercion to null
decision_bkm_004_b
bkm type is list and bkm logic returns null - null cannot be coerced to result remains null
decision_bkm_005
bkm type is non-list and bkm logic returns singleton list of conforming value - coercion list to val
decision_bkm_005_a
bkm type is non-list and bkm logic returns singleton list of non-conforming value - coercion to null
invoke_001
decision has invocation call to bkm passing
non-conforming context - bkm is never invoked
invoke_002
decision has invocation of bkm passing valid param, but bkm return value
does not match explicit type on invocation defn - null coercion of result
of invocation
invoke_004
invocation type is a list and invoked bkm returns single non-conforming value - coercion to null