test: additional test cases
This commit is contained in:
parent
769cc61d48
commit
0af757fa27
1 changed files with 12 additions and 2 deletions
|
@ -108,13 +108,18 @@ mod test {
|
|||
#[case("[1 (+ 1 2)]", "[1 3]")]
|
||||
#[case("{}", "{}")]
|
||||
#[case("{:a \"uwu\"}", "{:a: uwu}")]
|
||||
// Lists
|
||||
#[case("(list 1 2 3)", "(1 2 3)")]
|
||||
#[case("(list? (list))", "true")]
|
||||
#[case("(list? 23)", "false")]
|
||||
// Vectors
|
||||
#[case("(vector 1 2 3)", "[1 2 3]")]
|
||||
#[case("(vector? [])", "true")]
|
||||
// Unsure how to test this due to hashmaps being unordered
|
||||
// #[case("(hashmap :a 1 :b 2)", "{:a: 1, :b: 2}")]
|
||||
#[case("(vector? 23)", "false")]
|
||||
// Hashmaps
|
||||
#[case("(hashmap :a 1)", "{:a: 1}")]
|
||||
#[case("(hashmap? {})", "true")]
|
||||
#[case("(hashmap? 23)", "false")]
|
||||
// Environment manipulation
|
||||
#[case("(define! asdf (+ 2 2)) (+ asdf 2)", "4\n6")]
|
||||
#[case("(let* (a 2) (+ a 2))", "4")]
|
||||
|
@ -131,6 +136,11 @@ mod test {
|
|||
// Boolean operations
|
||||
#[case("(eq? 1 1)", "true")]
|
||||
#[case("(eq? 1 2)", "false")]
|
||||
#[case("(eq? true true)", "true")]
|
||||
#[case("(eq? true false)", "false")]
|
||||
#[case("(eq? \"blue\" \"blue\")", "true")]
|
||||
#[case("(eq? \"blue\" \"red\")", "false")]
|
||||
#[case("(eq? nil nil)", "true")]
|
||||
#[case("(not false)", "true")]
|
||||
#[case("(not true)", "false")]
|
||||
#[case("(not nil)", "false")]
|
||||
|
|
Loading…
Reference in a new issue