Version: 1.13

# Unary-Tests

Unary-Tests can be used only for input entries of a decision table. They are a special kind of expression with additional operators. The operators get the value of the input expression implicitly as the first argument.

The result of the expression must be either `true` or `false`.

An unary-tests expression is `true` if one of the following conditions is fulfilled:

• the expression evaluates to `true` when the input value is applied to it
• the expression evaluates to a list and the input value is equal to at least one of the values in that list
• the expression evaluates to a value and the input value is equal to that value

### Comparison​

Compare the input value to `x`.

operatorsymbolexample
equal to(none)`"valid"`
less than`<``< 10`
less than or equal`<=``<= 10`
greater than`>``> 10`
greater than or equal`>=``>= 10`
• less than/greater than are only supported for:
• number
• date
• time
• date-time
• year-month-duration
• day-time-duration

### Interval​

Test if the input value is within the interval `x` and `y`.

An interval can be open `(x..y)` / `]x..y[` or closed `[x..y]`. If the interval is open then the value is not included.

``(2..5)// input > 2 and input < 5[2..5]// input >= 2 and input <= 5(2..5]// input > 2 and input <= 5``

### Disjunction​

Test if at least of the expressions is `true`.

``2, 3, 4// input = 2 or input = 3 or input = 4< 10, > 50// input < 10 or input > 50``

### Negation​

Test if the expression is `false`.

``not("valid")// input != "valid"not(2, 3)             // input != 2 and input != 3 ``

### Expression​

It is also possible to use a boolean expression instead of an operator. For example, invoking a built-in function.

The input value can be accessed by the special variable `?`.

``ends with(?, "@camunda.com")// test if the input value (string) ends with "@camunda.com"list contains(?, "invalid")// test if the input value (list) contains "invalid"``