aboutsummaryrefslogtreecommitdiff
path: root/tests/list.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/list.lisp')
-rw-r--r--tests/list.lisp30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/list.lisp b/tests/list.lisp
index e154458..07fd08c 100644
--- a/tests/list.lisp
+++ b/tests/list.lisp
@@ -25,3 +25,33 @@
(assert (equal? (list 1 2 3 4)
(map (lambda (x) (+ 1 x)) (list 0 1 2 3))))
+
+(assert-error (reverse 1))
+(assert-error (reverse (cons 1 2)))
+
+(assert (equal? (list 1 2 3) (reverse (list 3 2 1))))
+(assert (equal? (list 1 2) (reverse (list 2 1))))
+(assert (equal? (list 1) (reverse (list 1))))
+(assert (equal? nil (reverse nil)))
+
+(assert-error (nreverse 1))
+(assert-error (nreverse (cons 1 2)))
+
+(assert (equal? (list 1 2 3) (nreverse (list 3 2 1))))
+(assert (equal? (list 1 2) (nreverse (list 2 1))))
+(assert (equal? (list 1) (nreverse (list 1))))
+(assert (equal? nil (nreverse nil)))
+
+(assert-error (last '()))
+(assert-error (last 1))
+
+(assert (equal? 3 (last (list 1 2 3))))
+(assert (equal? 3 (last (list 2 3))))
+(assert (equal? 3 (last (list 3))))
+
+(assert (member? nil (list 1 2 nil)))
+(assert (member? 1 (list 1 2 nil)))
+(assert (member? 2 (list 1 2 nil)))
+(assert (not (member? nil (list 1 2))))
+(assert (not (member? 3 (list 1 2))))
+