Skip to content

Commit 202b89b

Browse files
committed
Add some tests
1 parent d827856 commit 202b89b

File tree

2 files changed

+74
-0
lines changed

2 files changed

+74
-0
lines changed

src/semantics/tests/infer_term.rs

+37
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,43 @@ fn compose() {
331331
);
332332
}
333333

334+
#[test]
335+
fn let_expr_1() {
336+
let mut codemap = CodeMap::new();
337+
let tc_env = TcEnv::default();
338+
339+
let expected_ty = r"String";
340+
let given_expr = r#"
341+
let x = "helloo";
342+
in
343+
x
344+
"#;
345+
346+
assert_term_eq!(
347+
parse_infer_term(&mut codemap, &tc_env, given_expr).1,
348+
parse_nf_term(&mut codemap, &tc_env, expected_ty),
349+
);
350+
}
351+
352+
#[test]
353+
fn let_expr_2() {
354+
let mut codemap = CodeMap::new();
355+
let tc_env = TcEnv::default();
356+
357+
let expected_ty = r"String";
358+
let given_expr = r#"
359+
let x = "helloo";
360+
y = x;
361+
in
362+
x
363+
"#;
364+
365+
assert_term_eq!(
366+
parse_infer_term(&mut codemap, &tc_env, given_expr).1,
367+
parse_nf_term(&mut codemap, &tc_env, expected_ty),
368+
);
369+
}
370+
334371
#[test]
335372
fn case_expr() {
336373
let mut codemap = CodeMap::new();

src/semantics/tests/normalize.rs

+37
Original file line numberDiff line numberDiff line change
@@ -240,4 +240,41 @@ mod nf_term {
240240
parse_nf_term(&mut codemap, &tc_env, expected_expr),
241241
);
242242
}
243+
244+
#[test]
245+
fn let_expr_1() {
246+
let mut codemap = CodeMap::new();
247+
let tc_env = TcEnv::default();
248+
249+
let given_expr = r#"
250+
let x = "helloo";
251+
in
252+
x
253+
"#;
254+
let expected_expr = r#""helloo""#;
255+
256+
assert_term_eq!(
257+
parse_nf_term(&mut codemap, &tc_env, given_expr),
258+
parse_nf_term(&mut codemap, &tc_env, expected_expr),
259+
);
260+
}
261+
262+
#[test]
263+
fn let_expr_2() {
264+
let mut codemap = CodeMap::new();
265+
let tc_env = TcEnv::default();
266+
267+
let given_expr = r#"
268+
let x = "helloo";
269+
y = x;
270+
in
271+
x
272+
"#;
273+
let expected_expr = r#""helloo""#;
274+
275+
assert_term_eq!(
276+
parse_nf_term(&mut codemap, &tc_env, given_expr),
277+
parse_nf_term(&mut codemap, &tc_env, expected_expr),
278+
);
279+
}
243280
}

0 commit comments

Comments
 (0)