Files
zen/core/expression/tests/data/standard.csv
T

6.4 KiB

1expression (string);input (json 5);output (json 5)
2# Boolean
3true and true;;true
4true and false;;false
5false and true;;false
6false and false;;false
7true or true;;true
8true or false;;true
9false or true;;true
10false or false;;false
11not true;;false
12not false;;true
13# Numbers
141 == 1;;true
151 == 2;;false
161 != 2;;true
171 != 1;;false
181 < 2;;true
191 < 1;;false
201 <= 1;;true
212 <= 1;;false
222 > 1;;true
231 > 1;;false
241 >= 1;;true
251 >= 2;;false
26-1 == -1;;true
27-1 == 1;;false
28-1 != 1;;true
29-1 != -1;;false
30-1 < 1;;true
31-1 < -1;;false
32-1 <= -1;;true
331 <= -1;;false
341 > -1;;true
35-1 > -1;;false
36-1 >= -1;;true
37-1 >= 1;;false
381 + 2 == 3;;true
391 + 2 == 4;;false
401 - 2 == -1;;true
411 - 2 == 0;;false
422 * 3 == 6;;true
432 * 3 == 7;;false
446 / 3 == 2;;true
456 / 3 == 2.5;;false
465 % 2 == 1;;true
476 % 2 == 0;;true
48-5 + 5 == 0;;true
49-5 * 5 == -25;;true
50-5 * -5 == 25;;true
51abs(-5) == 5;;true
52abs(5) == 5;;true
532 ^ 3 == 8;;true
542 ^ -1 == 0.5;;true
55max([35]) == 5;;true
56max([-3-5]) == -3;;true
57min([35]) == 3;;true
58min([-3-5]) == -5;;true
593 + 4 * 2;;11
60(3 + 4) * 2;;14
61(10 - 4) / 2;;3
62abs(-5);;5
63sum([12345]);;15
64avg([102030]);;20
65min([582117]);;2
66max([582117]);;11
67floor(4.8);;4
68ceil(4.1);;5
69round(3.5);;4
70rand(100) >= 0 and rand(100) <= 100;;true
71median([42753]);;4
72mode([1223334444]);;4
735 % 2 == 1;;true
7410 % 4 == 2;;true
75true ? 10 == 10 : 20 == 30;;true
76false ? 10 == 10 : 20 == 30;;false
77true ? 10 == 20 : false ? 30 == 40 : true ? 50 == 60 : 70 == 80;;false
78# String
79# String Slice
80string[0:5];{string: 'sample_string'};'sample'
81string[7:12];{string: 'sample_string'};'string'
82string[7:];{string: 'sample_string'};'string'
83string[:5];{string: 'sample_string'};'sample'
84# Array
85len([12345]);; 5
86sum([12345]);; 15
87avg([102030]);; 20
88min([582117]);; 2
89max([582117]);; 11
90contains([12345]3);; true
91contains([12345]6);; false
92count([123452]# == 2);; 2
93filter([12345]# > 3);; [45]
94map([12345]# * 2);; [246810]
95one([12345]# == 3);; true
96one([12345]# == 6);; false
97none([12345]# > 5);; true
98some([12345]# > 3);; true
99flatMap([[12][34][56]]#);; [123456]
100# Dates
101# Decimal precision
1020.1 + 0.2 == 0.3;; true
1030.1 + 0.2;; 0.3
1040.1 * 0.2 == 0.02;; true
1050.1 * 0.2;; 0.02
1060.3 - 0.1 == 0.2;; true
1070.3 - 0.1;; 0.2
1080.3 / 0.1 == 3.0;; true
1090.3 / 0.1;; 3
110# More complex formulas
111(10 + 5) * 3 / 2 > 15;; true
112(100 - 25) / (5 * 2) < 10;; true
1131000 / (10 - 2) + 50 == 175;; true
114(3 + 4) * (8 - 6) == 14;; true
11510^3 != 999;; true
1161000 / 10^3 <= 1.1;; true
117abs(-20) > 10;; true
118floor(8.9) == 8;; true
119ceil(8.1) == 9;; true
120round(7.6) == 8;; true
12110 % 3 != 0;; true
122-8 + 2^3 == 0;; true
1232 * -(-5) == 10;; true
12420 / (5 / 2) == 8.0;; true
125(4 + 2) * 3 - (5 / 2) + 1 < 18;; true
1265^2 + 3 * 4 - 6 / 2 > 20;; true
1274^3 - 2 * 5 + 7 / 2 == 57.5;; true
128abs(-7 + 4) * (8 - 6^2) < 34;; true
1295 in [1..10];; true
1305 in (1..10);; true
1315 not in [1..10);; false
1325 not in (1..10);; false
133-5 in [-10..-1];; true
134-5 in [-10..-1);; true
135-5 not in [-10..-1];; false
136-5 not in [-10..-1);; false
137-5 in [-5..5];; true
138-5 in (-5..5);; false
139-5 not in [-5..5);; false
140-5 not in (-5..5);; true
14110 > 5;; true
1425 < 10;; true
14310 >= 10;; true
1445 <= 5;; true
145(1 + 2) == 3;; true
146(1 + 2) != 4;; true
147(1 + 2) > 2;; true
148(1 + 2) < 5;; true
149# Date Functions
150dateString(startOf('2023-01-01 15:45:01''day'));;'2023-01-01 00:00:00'
151dateString(endOf('2023-01-01 15:45:01''d'));;'2023-01-01 23:59:59'
152dateString(startOf('2023-01-01 15:45:01''hour'));;'2023-01-01 15:00:00'
153dateString(endOf('2023-01-01 15:45:01''h'));;'2023-01-01 15:59:59'
154dateString(startOf('2023-01-01 15:45:01''minute'));;'2023-01-01 15:45:00'
155dateString(endOf('2023-01-01 15:45:01''m'));;'2023-01-01 15:45:59'
156dateString(startOf('2023-01-04 15:45:01''week'));;'2023-01-02 00:00:00'
157dateString(endOf('2023-01-04 15:45:01''w'));;'2023-01-08 23:59:59'
158dateString(startOf('2023-01-04 15:45:01''month'));;'2023-01-01 00:00:00'
159dateString(endOf('2023-01-04 15:45:01''M'));;'2023-01-31 23:59:59'
160dateString(startOf('2023-01-04 15:45:01''year'));;'2023-01-01 00:00:00'
161dateString(endOf('2023-01-04 15:45:01''y'));;'2023-12-31 23:59:59'
162# Type conversions
163string(123.123);;'123.123'
164string(123);;'123'
165string(true);;'true'
166string(false);;'false'
167string('already string');;'already string'
168number('123.123');;123.123
169number('123');;123
170number(123.123);;123.123
171number(123);;123
172number(true);;1
173number(false);;0
174# Type check
175isNumeric(123.123);;true
176isNumeric(123);;true
177isNumeric('123.123');;true
178isNumeric('123');;true
179isNumeric('string');;false
180isNumeric(true);;false