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("[1 (+ 1 2)]", "[1 3]")]
|
||||||
#[case("{}", "{}")]
|
#[case("{}", "{}")]
|
||||||
#[case("{:a \"uwu\"}", "{:a: uwu}")]
|
#[case("{:a \"uwu\"}", "{:a: uwu}")]
|
||||||
|
// Lists
|
||||||
#[case("(list 1 2 3)", "(1 2 3)")]
|
#[case("(list 1 2 3)", "(1 2 3)")]
|
||||||
#[case("(list? (list))", "true")]
|
#[case("(list? (list))", "true")]
|
||||||
|
#[case("(list? 23)", "false")]
|
||||||
|
// Vectors
|
||||||
#[case("(vector 1 2 3)", "[1 2 3]")]
|
#[case("(vector 1 2 3)", "[1 2 3]")]
|
||||||
#[case("(vector? [])", "true")]
|
#[case("(vector? [])", "true")]
|
||||||
// Unsure how to test this due to hashmaps being unordered
|
#[case("(vector? 23)", "false")]
|
||||||
// #[case("(hashmap :a 1 :b 2)", "{:a: 1, :b: 2}")]
|
// Hashmaps
|
||||||
|
#[case("(hashmap :a 1)", "{:a: 1}")]
|
||||||
#[case("(hashmap? {})", "true")]
|
#[case("(hashmap? {})", "true")]
|
||||||
|
#[case("(hashmap? 23)", "false")]
|
||||||
// Environment manipulation
|
// Environment manipulation
|
||||||
#[case("(define! asdf (+ 2 2)) (+ asdf 2)", "4\n6")]
|
#[case("(define! asdf (+ 2 2)) (+ asdf 2)", "4\n6")]
|
||||||
#[case("(let* (a 2) (+ a 2))", "4")]
|
#[case("(let* (a 2) (+ a 2))", "4")]
|
||||||
|
@ -131,6 +136,11 @@ mod test {
|
||||||
// Boolean operations
|
// Boolean operations
|
||||||
#[case("(eq? 1 1)", "true")]
|
#[case("(eq? 1 1)", "true")]
|
||||||
#[case("(eq? 1 2)", "false")]
|
#[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 false)", "true")]
|
||||||
#[case("(not true)", "false")]
|
#[case("(not true)", "false")]
|
||||||
#[case("(not nil)", "false")]
|
#[case("(not nil)", "false")]
|
||||||
|
|
Loading…
Reference in a new issue