1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
//! # Compatibility tests
//!
//! ```text
//! ┌────────────────────────────────────────────────────────────────────────┬────────┬───────┬─────────┐
//! │ TCK directory │ XML │ Rust │ Rust │
//! │ │ tests │ tests │ benches │
//! ├────────────────────────────────────────────────────────────────────────┼────────┼───────┼─────────┤
//! │ compliance-level-2/0001-input-data-string │ 1 │ 1 │ 1 │
//! │ compliance-level-2/0002-input-data-number │ 1 │ 1 │ 1 │
//! │ compliance-level-2/0003-input-data-string-allowed-values │ 1 │ 2 │ 2 │
//! │ compliance-level-2/0004-simpletable-U │ 3 │ 3 │ 3 │
//! │ compliance-level-2/0005-simpletable-A │ 3 │ 3 │ 3 │
//! │ compliance-level-2/0006-simpletable-P1 │ 3 │ 3 │ 3 │
//! │ compliance-level-2/0007-simpletable-P2 │ 3 │ 3 │ 3 │
//! │ compliance-level-2/0008-LX-arithmetic │ 3 │ 3 │ 3 │
//! │ compliance-level-2/0009-invocation-arithmetic │ 3 │ 3 │ 3 │
//! │ compliance-level-2/0010-multi-output-U │ 3 │ 3 │ 3 │
//! │ compliance-level-2/0100-feel-constants │ 2 │ 2 │ 2 │
//! │ compliance-level-2/0101-feel-constants │ 6 │ 6 │ 6 │
//! │ compliance-level-2/0102-feel-constants │ 4 │ 4 │ 4 │
//! │ compliance-level-2/0105-feel-math │ 33 │ 33 │ 33 │
//! │ compliance-level-2/0106-feel-ternary-logic │ 18 │ 18 │ 18 │
//! │ compliance-level-2/0107-feel-ternary-logic-not │ 3 │ 3 │ 3 │
//! │ compliance-level-2/0108-first-hitpolicy │ 3 │ 3 │ 3 │
//! │ compliance-level-2/0109-ruleOrder-hitpolicy │ 3 │ 3 │ 3 │
//! │ compliance-level-2/0110-outputOrder-hitpolicy │ 3 │ 3 │ 3 │
//! │ compliance-level-2/0111-first-hitpolicy-singleoutputcol │ 3 │ 3 │ 3 │
//! │ compliance-level-2/0112-ruleOrder-hitpolicy-singleinoutcol │ 3 │ 3 │ 3 │
//! │ compliance-level-2/0113-outputOrder-hitpolicy-singleinoutcol │ 3 │ 3 │ 3 │
//! │ compliance-level-2/0114-min-collect-hitpolicy │ 3 │ 3 │ 3 │
//! │ compliance-level-2/0115-sum-collect-hitpolicy │ 3 │ 3 │ 3 │
//! │ compliance-level-2/0116-count-collect-hitpolicy │ 3 │ 3 │ 3 │
//! │ compliance-level-2/0117-multi-any-hitpolicy │ 3 │ 3 │ 3 │
//! │ compliance-level-2/0118-multi-priority-hitpolicy │ 3 │ 3 │ 3 │
//! │ compliance-level-2/0119-multi-collect-hitpolicy │ 3 │ 3 │ 3 │
//! │ compliance-level-3/0001-filter │ 1 │ 1 │ 1 │
//! │ compliance-level-3/0002-string-functions │ 4 │ 4 │ 4 │
//! │ compliance-level-3/0003-iteration │ 1 │ 1 │ 1 │
//! │ compliance-level-3/0004-lending │ 11 │ 11 │ 11 │
//! │ compliance-level-3/0005-literal-invocation │ 3 │ 3 │ 3 │
//! │ compliance-level-3/0006-join │ 1 │ 1 │ 1 │
//! │ compliance-level-3/0007-date-time │ 19 │ 19 │ 19 │
//! │ compliance-level-3/0008-listGen │ 10 │ 10 │ 10 │
//! │ compliance-level-3/0009-append-flatten │ 10 │ 10 │ 10 │
//! │ compliance-level-3/0010-concatenate │ 6 │ 6 │ 6 │
//! │ compliance-level-3/0011-insert-remove │ 6 │ 6 │ 6 │
//! │ compliance-level-3/0012-list-functions │ 19 │ 19 │ 19 │
//! │ compliance-level-3/0013-sort │ 3 │ 3 │ 3 │
//! │ compliance-level-3/0014-loan-comparison │ 2 │ 7 │ 7 │
//! │ compliance-level-3/0016-some-every │ 8 │ 8 │ 8 │
//! │ compliance-level-3/0017-tableTests │ 4 │ 4 │ 4 │
//! │ compliance-level-3/0020-vacation-days │ 7 │ 7 │ 7 │
//! │ compliance-level-3/0021-singleton-list │ 5 │ 6 │ 6 │
//! │ compliance-level-3/0030-user-defined-functions │ 2 │ 2 │ 2 │
//! │ compliance-level-3/0031-user-defined-functions │ 3 │ 3 │ 3 │
//! │ compliance-level-3/0032-conditionals │ 6 │ 6 │ 6 │
//! │ compliance-level-3/0033-for-loops │ 4 │ 4 │ 4 │
//! │ compliance-level-3/0034-drg-scopes │ 12 │ 12 │ 12 │
//! │ compliance-level-3/0035-test-structure-output │ 3 │ 3 │ 3 │
//! │ compliance-level-3/0036-dt-variable-input │ 24 │ 24 │ 24 │
//! │ compliance-level-3/0037-dt-on-bkm-implicit-params │ 2 │ 2 │ 2 │
//! │ compliance-level-3/0038-dt-on-bkm-explicit-params │ 2 │ 2 │ 2 │
//! │ compliance-level-3/0039-dt-list-semantics │ 2 │ 2 │ 2 │
//! │ compliance-level-3/0040-singlenestedcontext │ 3 │ 3 │ 3 │
//! │ compliance-level-3/0041-multiple-nestedcontext │ 3 │ 3 │ 3 │
//! │ compliance-level-3/0050-feel-abs-function │ 17 │ 17 │ 17 │
//! │ compliance-level-3/0051-feel-sqrt-function │ 15 │ 15 │ 15 │
//! │ compliance-level-3/0052-feel-exp-function │ 15 │ 15 │ 15 │
//! │ compliance-level-3/0053-feel-log-function │ 15 │ 15 │ 15 │
//! │ compliance-level-3/0054-feel-even-function │ 17 │ 17 │ 17 │
//! │ compliance-level-3/0055-feel-odd-function │ 17 │ 17 │ 17 │
//! │ compliance-level-3/0056-feel-modulo-function │ 28 │ 28 │ 28 │
//! │ compliance-level-3/0057-feel-context │ 11 │ 11 │ 11 │
//! │ compliance-level-3/0058-feel-number-function │ 21 │ 21 │ 21 │
//! │ compliance-level-3/0059-feel-all-function │ 19 │ 19 │ 19 │
//! │ compliance-level-3/0060-feel-any-function │ 17 │ 17 │ 17 │
//! │ compliance-level-3/0061-feel-median-function │ 14 │ 14 │ 14 │
//! │ compliance-level-3/0062-feel-mode-function │ 13 │ 13 │ 13 │
//! │ compliance-level-3/0063-feel-stddev-function │ 11 │ 11 │ 11 │
//! │ compliance-level-3/0064-feel-conjunction │ 19 │ 19 │ 19 │
//! │ compliance-level-3/0065-feel-disjunction │ 19 │ 19 │ 19 │
//! │ compliance-level-3/0066-feel-negation │ 6 │ 6 │ 6 │
//! │ compliance-level-3/0067-feel-split-function │ 9 │ 9 │ 9 │
//! │ compliance-level-3/0068-feel-equality │ 108 │ 109 │ 109 │
//! │ compliance-level-3/0069-feel-list │ 35 │ 35 │ 35 │
//! │ compliance-level-3/0070-feel-instance-of │ 142 │ 154 │ 154 │
//! │ compliance-level-3/0071-feel-between │ 38 │ 38 │ 38 │
//! │ compliance-level-3/0072-feel-in │ 274 │ 274 │ 274 │
//! │ compliance-level-3/0073-feel-comments │ 3 │ 3 │ 3 │
//! │ compliance-level-3/0074-feel-properties │ 67 │ 67 │ 67 │
//! │ compliance-level-3/0075-feel-exponent │ 12 │ 12 │ 12 │
//! │ compliance-level-3/0076-feel-external-java │ 18 │ 18 │ 18 │
//! │ compliance-level-3/0077-feel-nan │ 1 │ 1 │ 1 │
//! │ compliance-level-3/0078-feel-infinity │ 2 │ 2 │ 2 │
//! │ compliance-level-3/0080-feel-getvalue-function │ 14 │ 14 │ 14 │
//! │ compliance-level-3/0081-feel-getentries-function │ 9 │ 9 │ 9 │
//! │ compliance-level-3/0082-feel-coercion │ 37 │ 37 │ 37 │
//! │ compliance-level-3/0083-feel-unicode │ 14 │ 18 │ 11 │ -7
//! │ compliance-level-3/0084-feel-for-loops │ 13 │ 13 │ 10 │ -3
//! │ compliance-level-3/0085-decision-services │ 17 │ 26 │ 10 │ -16
//! │ compliance-level-3/0086-import │ 2 │ 2 │ 2 │
//! │ compliance-level-3/0087-chapter-11-example │ 9 │ 9 │ 9 │
//! │ compliance-level-3/0088-no-decision-logic │ 1 │ 1 │ 1 │
//! │ compliance-level-3/0089-nested-inputdata-imports │ 1 │ 9 │ 4 │ -5
//! │ compliance-level-3/0090-feel-paths │ 4 │ 4 │ 4 │
//! │ compliance-level-3/0091-local-hrefs │ 1 │ 1 │ 0 │ -1
//! │ compliance-level-3/0092-feel-lambda │ 18 │ 19 │ 0 │ -19
//! │ compliance-level-3/0093-feel-at-literals │ 19 │ 19 │ 0 │ -19
//! │ compliance-level-3/0094-feel-product-function │ 13 │ 13 │ 0 │ -13
//! │ compliance-level-3/0095-feel-day-of-year-function │ 19 │ 19 │ 0 │ -19
//! │ compliance-level-3/0096-feel-day-of-week-function │ 12 │ 12 │ 0 │ -12
//! │ compliance-level-3/0097-feel-month-of-year-function │ 12 │ 12 │ 0 │ -12
//! │ compliance-level-3/0098-feel-week-of-year-function │ 19 │ 19 │ 0 │ -19
//! │ compliance-level-3/0099-arithmetic-negation │ 10 │ 14 │ 0 │ -14
//! │ compliance-level-3/0100-arithmetic │ 1087 │ 1087 │ 1087 │
//! │ compliance-level-3/0103-feel-is-function │ 50 │ 50 │ 50 │
//! │ compliance-level-3/1100-feel-decimal-function │ 10 │ 10 │ 10 │
//! │ compliance-level-3/1101-feel-floor-function │ 17 │ 17 │ 6 │ -11
//! │ compliance-level-3/1102-feel-ceiling-function │ 17 │ 17 │ 17 │
//! │ compliance-level-3/1103-feel-substring-function │ 11 │ 11 │ 11 │
//! │ compliance-level-3/1104-feel-string-length-function │ 6 │ 6 │ 6 │
//! │ compliance-level-3/1105-feel-upper-case-function │ 8 │ 8 │ 8 │
//! │ compliance-level-3/1106-feel-lower-case-function │ 9 │ 9 │ 9 │
//! │ compliance-level-3/1107-feel-substring-before-function │ 9 │ 9 │ 9 │
//! │ compliance-level-3/1108-feel-substring-after-function │ 10 │ 10 │ 10 │
//! │ compliance-level-3/1109-feel-replace-function │ 28 │ 28 │ 28 │
//! │ compliance-level-3/1110-feel-contains-function │ 10 │ 10 │ 10 │
//! │ compliance-level-3/1111-feel-matches-function │ 40 │ 44 │ 0 │ -44
//! │ compliance-level-3/1115-feel-date-function │ 52 │ 52 │ 52 │
//! │ compliance-level-3/1116-feel-time-function │ 83 │ 83 │ 83 │
//! │ compliance-level-3/1117-feel-date-and-time-function │ 88 │ 88 │ 88 │
//! │ compliance-level-3/1120-feel-duration-function │ 50 │ 50 │ 50 │
//! │ compliance-level-3/1121-feel-years-and-months-duration-function │ 36 │ 36 │ 36 │
//! │ compliance-level-3/1130-feel-interval │ 14 │ 14 │ 0 │ -14
//! │ compliance-level-3/1131-feel-function-invocation │ 8 │ 8 │ 8 │
//! │ compliance-level-3/1140-feel-string-join-function │ 22 │ 22 │ 0 │ -22
//! │ compliance-level-3/1141-feel-round-up-function │ 16 │ 16 │ 16 │
//! │ compliance-level-3/1142-feel-round-down-function │ 16 │ 16 │ 16 │
//! │ compliance-level-3/1143-feel-round-half-up-function │ 16 │ 16 │ 16 │
//! │ compliance-level-3/1144-feel-round-half-down-function │ 16 │ 16 │ 16 │
//! │ compliance-level-3/1145-feel-context-function │ 18 │ 18 │ 0 │ -18
//! │ compliance-level-3/1146-feel-context-put-function │ 30 │ 30 │ 30 │
//! │ compliance-level-3/1147-feel-context-merge-function │ 14 │ 14 │ 0 │ -14
//! │ compliance-level-3/1148-feel-now-function │ 2 │ 2 │ 0 │ -2
//! │ compliance-level-3/1149-feel-today-function │ 2 │ 2 │ 0 │ -2
//! │ compliance-level-3/1150-boxed-conditional │ 3 │ 3 │ 0 │ -3
//! │ compliance-level-3/1151-boxed-filter │ 4 │ 6 │ 0 │ -6
//! │ compliance-level-3/1152-boxed-for │ 2 │ 4 │ 0 │ -4
//! │ compliance-level-3/1153-boxed-some │ 5 │ 7 │ 0 │ -7
//! │ compliance-level-3/1154-boxed-every │ 5 │ 7 │ 0 │ -7
//! │ non-compliant/0015-all-any │ 10 │ 10 │ 0 │ -10
//! │ non-compliant/0019-flight-rebooking │ 1 │ 2 │ 0 │ -2
//! │ non-compliant/0079-feel-string-function │ 37 │ 37 │ 37 │
//! │ non-compliant/0088-recursion │ 2 │ 1 │ 0 │ -2
//! ├────────────────────────────────────────────────────────────────────────┼────────┼───────┼─────────┤
//! │ Total │ 3400 │ │ │
//! └────────────────────────────────────────────────────────────────────────┴────────┴───────┴─────────┘
//! ```
use *;