82 lines
1.4 KiB
Plaintext
82 lines
1.4 KiB
Plaintext
pub void test_let_basic() {
|
|
let x = 42;
|
|
assert_eq!(x, 42);
|
|
}
|
|
|
|
pub void test_let_typed() {
|
|
Int x = 42;
|
|
assert_eq!(x, 42);
|
|
|
|
String s = "hello";
|
|
assert_eq!(s, "hello");
|
|
|
|
Bool b = true;
|
|
assert_eq!(b, true);
|
|
|
|
Float f = 3.14;
|
|
assert_eq!(f, 3.14);
|
|
}
|
|
|
|
pub void test_let_mut() {
|
|
let mut x = 42;
|
|
x = 100;
|
|
assert_eq!(x, 100);
|
|
}
|
|
|
|
pub void test_let_tuple_destructure() {
|
|
let [a, b] = (10, "hello");
|
|
assert_eq!(a, 10);
|
|
assert_eq!(b, "hello");
|
|
}
|
|
|
|
pub void test_let_nested_tuple() {
|
|
let [a, [b, c]] = (1, (2, 3));
|
|
assert_eq!(a, 1);
|
|
assert_eq!(b, 2);
|
|
assert_eq!(c, 3);
|
|
}
|
|
|
|
pub void test_let_pattern_irrefutable() {
|
|
let x = 5;
|
|
let [y, z] = (1, 2);
|
|
assert_eq!(x, 5);
|
|
assert_eq!(y, 1);
|
|
assert_eq!(z, 2);
|
|
}
|
|
|
|
pub void test_multiple_decls() {
|
|
let a = 1;
|
|
let b = 2;
|
|
let c = 3;
|
|
assert_eq!(a + b + c, 6);
|
|
}
|
|
|
|
pub void test_let_with_type_and_init() {
|
|
Int x = 10;
|
|
assert_eq!(x, 10);
|
|
}
|
|
|
|
pub void test_string_literal() {
|
|
let s = "hello, world!";
|
|
assert_eq!(s.len(), 13);
|
|
}
|
|
|
|
pub void test_let_bool() {
|
|
let t = true;
|
|
let f = false;
|
|
assert_eq!(t, !f);
|
|
}
|
|
|
|
pub void run_tests() {
|
|
test_let_basic();
|
|
test_let_typed();
|
|
test_let_mut();
|
|
test_let_tuple_destructure();
|
|
test_let_nested_tuple();
|
|
test_let_pattern_irrefutable();
|
|
test_multiple_decls();
|
|
test_let_with_type_and_init();
|
|
test_string_literal();
|
|
test_let_bool();
|
|
}
|