diff options
| author | Mistivia <i@mistivia.com> | 2025-06-24 22:32:57 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2025-06-24 22:34:19 +0800 |
| commit | 44642d96eaef834b4bb846d27347ee681f9f5f7b (patch) | |
| tree | 6e288498788115415650546f11a54a2a17766b15 /tests | |
| parent | 7dd5aa6065c00ed2d85b191e7e3cd4b12467408d (diff) | |
add more list funcs
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/eq.lisp | 4 | ||||
| -rw-r--r-- | tests/list.lisp | 30 | ||||
| -rw-r--r-- | tests/test.lisp | 3 | ||||
| -rw-r--r-- | tests/type.lisp | 32 |
4 files changed, 67 insertions, 2 deletions
diff --git a/tests/eq.lisp b/tests/eq.lisp index a7758bb..27e9aee 100644 --- a/tests/eq.lisp +++ b/tests/eq.lisp @@ -1,5 +1,5 @@ -(assert-error (eq?1 2 3)) -(assert-error (equal?1 2 3)) +(assert-error (eq? 1 2 3)) +(assert-error (equal? 1 2 3)) (assert (eq? 1 1)) (assert (eq? 'a 'a)) 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)))) + diff --git a/tests/test.lisp b/tests/test.lisp index 59f91fb..8969a5b 100644 --- a/tests/test.lisp +++ b/tests/test.lisp @@ -19,6 +19,7 @@ (test-module let-binding) (test-module string) (test-module list) +(test-module type) (princ "\n\nTest with intensive GC:\n\n") (_alwaysgc #t) @@ -36,5 +37,7 @@ (test-module macro) (test-module let-binding) (test-module string) +(test-module list) +(test-module type) (exit) diff --git a/tests/type.lisp b/tests/type.lisp new file mode 100644 index 0000000..d22913f --- /dev/null +++ b/tests/type.lisp @@ -0,0 +1,32 @@ +(assert (list? (list 12 2 3))) +(assert (list? nil)) +(assert (list? (list 1))) +(assert (not (list? 1))) +(assert (not (list? (cons 1 2)))) +(assert (not (list? '(1 2 . 3)))) + +(assert (cons? (list 1 2 3))) +(assert (cons? '(1 2 . 3))) +(assert (not (cons? '()))) + +(assert (null? nil)) +(assert (null? '())) +(assert (not (null? #f))) + +(assert (number? 1)) +(assert (number? 1)) +(assert (number? 1.1)) +(assert (float? 1.1)) +(assert (float? (float 1))) +(assert (not (float? 1))) +(assert (not (integer? 1.1))) + +(assert (atom? nil)) +(assert (atom? #t)) +(assert (atom? 'a)) +(assert (atom? 1)) +(assert (atom? 1.1)) +(assert (atom? #\c)) +(assert (atom? "hello")) +(assert (not (atom? (cons 1 2)))) +(assert (lambda () 1)) |
