dust/tests/match.rs

51 lines
818 B
Rust
Raw Normal View History

2024-01-06 07:26:51 +00:00
use dust_lang::*;
#[test]
2024-02-15 12:04:38 +00:00
fn match_value() {
2024-01-06 07:26:51 +00:00
let test = interpret(
"
2024-02-15 12:04:38 +00:00
match 1 {
3 => false
2 => { false }
1 => true
}
",
2024-01-06 07:26:51 +00:00
)
.unwrap();
assert_eq!(Value::Boolean(true), test);
}
#[test]
fn match_assignment() {
let test = interpret(
"
2024-02-15 12:04:38 +00:00
x = match 1 {
3 => false
2 => { false }
1 => true
}
x
",
2024-01-06 07:26:51 +00:00
)
.unwrap();
assert_eq!(Value::Boolean(true), test);
}
2024-02-15 12:04:38 +00:00
#[test]
fn match_enum() {
let result = interpret(
"
foobar = Option::Some(true)
match foobar {
Option::None => false,
Option::Some(content) => content,
}
",
);
assert_eq!(result, Ok(Value::Boolean(true)));
}