File tree 1 file changed +216
-3
lines changed
crates/compiler/test_gen/src
1 file changed +216
-3
lines changed Original file line number Diff line number Diff line change @@ -9,25 +9,238 @@ use crate::helpers::wasm::assert_evals_to;
9
9
10
10
use indoc:: indoc;
11
11
12
+ #[ test]
13
+ #[ cfg( any( feature = "gen-llvm" , feature = "gen-dev" , feature = "gen-wasm" ) ) ]
14
+ fn compare_u64 ( ) {
15
+ assert_evals_to ! (
16
+ indoc!(
17
+ r#"
18
+ i : U64
19
+ i = 1
20
+
21
+ j : U64
22
+ j = 2
23
+
24
+ when List.compare i j is
25
+ Equal -> 0
26
+ GreaterThan -> 1
27
+ LessThan -> 2
28
+ "#
29
+ ) ,
30
+ 2 ,
31
+ u8
32
+ ) ;
33
+ assert_evals_to ! (
34
+ indoc!(
35
+ r#"
36
+ i : U64
37
+ i = 2
38
+
39
+ j : U64
40
+ j = 1
41
+
42
+ when List.compare i j is
43
+ Equal -> 0
44
+ GreaterThan -> 1
45
+ LessThan -> 2
46
+ "#
47
+ ) ,
48
+ 1 ,
49
+ u8
50
+ ) ;
51
+ assert_evals_to ! (
52
+ indoc!(
53
+ r#"
54
+ i : U64
55
+ i = 1
56
+
57
+ j : U64
58
+ j = 1
59
+
60
+ when List.compare i j is
61
+ Equal -> 0
62
+ GreaterThan -> 1
63
+ LessThan -> 2
64
+ "#
65
+ ) ,
66
+ 0 ,
67
+ u8
68
+ ) ;
69
+ }
70
+
12
71
#[ test]
13
72
#[ cfg( any( feature = "gen-llvm" , feature = "gen-dev" , feature = "gen-wasm" ) ) ]
14
73
fn compare_i64 ( ) {
74
+ assert_evals_to ! (
75
+ indoc!(
76
+ r#"
77
+ i : I64
78
+ i = -1
79
+
80
+ j : I64
81
+ j = 1
82
+
83
+ when List.compare i j is
84
+ Equal -> 0
85
+ GreaterThan -> 1
86
+ LessThan -> 2
87
+ "#
88
+ ) ,
89
+ 2 ,
90
+ u8
91
+ ) ;
15
92
assert_evals_to ! (
16
93
indoc!(
17
94
r#"
18
95
i : I64
19
96
i = 1
20
97
21
98
j : I64
22
- j = 2
99
+ j = -1
100
+
101
+ when List.compare i j is
102
+ Equal -> 0
103
+ GreaterThan -> 1
104
+ LessThan -> 2
105
+ "#
106
+ ) ,
107
+ 1 ,
108
+ u8
109
+ ) ;
110
+ assert_evals_to ! (
111
+ indoc!(
112
+ r#"
113
+ i : I64
114
+ i = -1
115
+
116
+ j : I64
117
+ j = -1
118
+
119
+ when List.compare i j is
120
+ Equal -> 0
121
+ GreaterThan -> 1
122
+ LessThan -> 2
123
+ "#
124
+ ) ,
125
+ 0 ,
126
+ u8
127
+ ) ;
128
+ }
129
+
130
+ #[ test]
131
+ #[ cfg( any( feature = "gen-llvm" , feature = "gen-dev" , feature = "gen-wasm" ) ) ]
132
+ fn compare_f64 ( ) {
133
+ assert_evals_to ! (
134
+ indoc!(
135
+ r#"
136
+ i : F64
137
+ i = 1.2
138
+
139
+ j : F64
140
+ j = 1.3
141
+
142
+ when List.compare i j is
143
+ Equal -> 0
144
+ GreaterThan -> 1
145
+ LessThan -> 2
146
+ "#
147
+ ) ,
148
+ 2 ,
149
+ u8
150
+ ) ;
151
+ assert_evals_to ! (
152
+ indoc!(
153
+ r#"
154
+ i : F64
155
+ i = 1.3
156
+
157
+ j : F64
158
+ j = 1.2
159
+
160
+ when List.compare i j is
161
+ Equal -> 0
162
+ GreaterThan -> 1
163
+ LessThan -> 2
164
+ "#
165
+ ) ,
166
+ 1 ,
167
+ u8
168
+ ) ;
169
+ assert_evals_to ! (
170
+ indoc!(
171
+ r#"
172
+ i : F64
173
+ i = 1.2
174
+
175
+ j : F64
176
+ j = 1.2
177
+
178
+ when List.compare i j is
179
+ Equal -> 0
180
+ GreaterThan -> 1
181
+ LessThan -> 2
182
+ "#
183
+ ) ,
184
+ 0 ,
185
+ u8
186
+ ) ;
187
+ }
188
+
189
+ #[ test]
190
+ #[ cfg( any( feature = "gen-llvm" , feature = "gen-dev" , feature = "gen-wasm" ) ) ]
191
+ fn compare_bool ( ) {
192
+ assert_evals_to ! (
193
+ indoc!(
194
+ r#"
195
+ i : Bool
196
+ i = Bool.false
197
+
198
+ j : Bool
199
+ j = Bool.true
23
200
24
201
when List.compare i j is
25
- Equals -> 0
202
+ Equal -> 0
26
203
GreaterThan -> 1
27
204
LessThan -> 2
28
205
"#
29
206
) ,
30
207
2 ,
31
- i64
208
+ u8
209
+ ) ;
210
+ assert_evals_to ! (
211
+ indoc!(
212
+ r#"
213
+ i : Bool
214
+ i = Bool.true
215
+
216
+ j : Bool
217
+ j = Bool.false
218
+
219
+ when List.compare i j is
220
+ Equal -> 0
221
+ GreaterThan -> 1
222
+ LessThan -> 2
223
+ "#
224
+ ) ,
225
+ 1 ,
226
+ u8
227
+ ) ;
228
+ assert_evals_to ! (
229
+ indoc!(
230
+ r#"
231
+ i : Bool
232
+ i = Bool.false
233
+
234
+ j : Bool
235
+ j = Bool.false
236
+
237
+ when List.compare i j is
238
+ Equal -> 0
239
+ GreaterThan -> 1
240
+ LessThan -> 2
241
+ "#
242
+ ) ,
243
+ 0 ,
244
+ u8
32
245
) ;
33
246
}
You can’t perform that action at this time.
0 commit comments