Improve tests
This commit is contained in:
parent
e87d6d6083
commit
6941128db3
3 changed files with 39 additions and 38 deletions
1
Makefile
1
Makefile
|
@ -25,6 +25,7 @@ test: arcana-lisp
|
|||
$(CAT) tests/arcana.scm | ./arcana-lisp
|
||||
$(CAT) tests/arcana/builtin.scm | ./arcana-lisp
|
||||
$(CAT) tests/arcana/tokenize.scm | ./arcana-lisp
|
||||
$(CAT) tests/arcana/parse.scm | ./arcana-lisp
|
||||
$(CAT) tests/arithm_ops.scm | ./arcana-lisp
|
||||
$(CAT) tests/basic_data_structs.scm | ./arcana-lisp
|
||||
$(CAT) tests/equiv.scm | ./arcana-lisp
|
||||
|
|
|
@ -1,42 +1,4 @@
|
|||
(begin
|
||||
;;; arcana/parse ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(assert-equal
|
||||
(arcana/parse
|
||||
(list
|
||||
(cons 'TOKEN_ROUND_OPEN "(")
|
||||
(cons 'TOKEN_IDENT "displayln")
|
||||
(cons 'TOKEN_ROUND_OPEN "(")
|
||||
(cons 'TOKEN_IDENT "+")
|
||||
(cons 'TOKEN_NUM "123")
|
||||
(cons 'TOKEN_NUM "456")
|
||||
(cons 'TOKEN_ROUND_CLOSE ")")
|
||||
(cons 'TOKEN_ROUND_CLOSE ")")))
|
||||
'(displayln (+ 123 456)))
|
||||
(assert-equal
|
||||
(quote
|
||||
(quasiquote
|
||||
(cons
|
||||
(unquote (+ 12 34))
|
||||
(unquote (+ 56 78)))))
|
||||
(arcana/parse
|
||||
(list
|
||||
(cons 'TOKEN_QUASI_QUOTE "`")
|
||||
(cons 'TOKEN_ROUND_OPEN "(")
|
||||
(cons 'TOKEN_IDENT "cons")
|
||||
(cons 'TOKEN_QUASI_UNQUOTE ",")
|
||||
(cons 'TOKEN_ROUND_OPEN "(")
|
||||
(cons 'TOKEN_IDENT "+")
|
||||
(cons 'TOKEN_NUM "12")
|
||||
(cons 'TOKEN_NUM "34")
|
||||
(cons 'TOKEN_ROUND_CLOSE ")")
|
||||
(cons 'TOKEN_QUASI_UNQUOTE ",")
|
||||
(cons 'TOKEN_ROUND_OPEN "(")
|
||||
(cons 'TOKEN_IDENT "+")
|
||||
(cons 'TOKEN_NUM "56")
|
||||
(cons 'TOKEN_NUM "78")
|
||||
(cons 'TOKEN_ROUND_CLOSE ")")
|
||||
(cons 'TOKEN_ROUND_CLOSE ")"))))
|
||||
|
||||
;;; arcana/typeof ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
(assert-equal 'null (arcana/typeof '()))
|
||||
(assert-equal 'procedure (arcana/typeof +))
|
||||
|
|
38
tests/arcana/parse.scm
Normal file
38
tests/arcana/parse.scm
Normal file
|
@ -0,0 +1,38 @@
|
|||
(begin
|
||||
(assert-equal
|
||||
'(displayln (+ 123 456))
|
||||
(arcana/parse
|
||||
(list
|
||||
(cons 'TOKEN_ROUND_OPEN "(")
|
||||
(cons 'TOKEN_IDENT "displayln")
|
||||
(cons 'TOKEN_ROUND_OPEN "(")
|
||||
(cons 'TOKEN_IDENT "+")
|
||||
(cons 'TOKEN_NUM "123")
|
||||
(cons 'TOKEN_NUM "456")
|
||||
(cons 'TOKEN_ROUND_CLOSE ")")
|
||||
(cons 'TOKEN_ROUND_CLOSE ")"))))
|
||||
|
||||
(assert-equal
|
||||
'(quasiquote
|
||||
(cons
|
||||
(unquote (+ 12 34))
|
||||
(unquote (+ 56 78))))
|
||||
(arcana/parse
|
||||
(list
|
||||
(cons 'TOKEN_QUASI_QUOTE "`")
|
||||
(cons 'TOKEN_ROUND_OPEN "(")
|
||||
(cons 'TOKEN_IDENT "cons")
|
||||
(cons 'TOKEN_QUASI_UNQUOTE ",")
|
||||
(cons 'TOKEN_ROUND_OPEN "(")
|
||||
(cons 'TOKEN_IDENT "+")
|
||||
(cons 'TOKEN_NUM "12")
|
||||
(cons 'TOKEN_NUM "34")
|
||||
(cons 'TOKEN_ROUND_CLOSE ")")
|
||||
(cons 'TOKEN_QUASI_UNQUOTE ",")
|
||||
(cons 'TOKEN_ROUND_OPEN "(")
|
||||
(cons 'TOKEN_IDENT "+")
|
||||
(cons 'TOKEN_NUM "56")
|
||||
(cons 'TOKEN_NUM "78")
|
||||
(cons 'TOKEN_ROUND_CLOSE ")")
|
||||
(cons 'TOKEN_ROUND_CLOSE ")"))))
|
||||
)
|
Loading…
Reference in a new issue