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.scm | ./arcana-lisp
|
||||||
$(CAT) tests/arcana/builtin.scm | ./arcana-lisp
|
$(CAT) tests/arcana/builtin.scm | ./arcana-lisp
|
||||||
$(CAT) tests/arcana/tokenize.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/arithm_ops.scm | ./arcana-lisp
|
||||||
$(CAT) tests/basic_data_structs.scm | ./arcana-lisp
|
$(CAT) tests/basic_data_structs.scm | ./arcana-lisp
|
||||||
$(CAT) tests/equiv.scm | ./arcana-lisp
|
$(CAT) tests/equiv.scm | ./arcana-lisp
|
||||||
|
|
|
@ -1,42 +1,4 @@
|
||||||
(begin
|
(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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;; arcana/typeof ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
(assert-equal 'null (arcana/typeof '()))
|
(assert-equal 'null (arcana/typeof '()))
|
||||||
(assert-equal 'procedure (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