diff options
| author | Mistivia <i@mistivia.com> | 2025-06-24 15:44:12 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2025-06-24 15:50:55 +0800 |
| commit | 65cd835954825568a432c2e62d8019269dcafd74 (patch) | |
| tree | 52724d76c7506e1acce6c20903ff18fbeda02c8f /tests/list.lisp | |
| parent | 60b8cd0df3ed844ea5c77286ac27afff5b3c9b37 (diff) | |
add list function
Diffstat (limited to 'tests/list.lisp')
| -rw-r--r-- | tests/list.lisp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/list.lisp b/tests/list.lisp new file mode 100644 index 0000000..168ccf2 --- /dev/null +++ b/tests/list.lisp @@ -0,0 +1,23 @@ +(let ((l (list 1 2 3))) + (set-cdr l 4) + (assert (equal? l (cons 1 4)))) + +(let ((l (list 1 2 3))) + (set-car l 4) + (assert (equal? l (list 4 2 3)))) + +(assert-error (set-car 1)) +(assert-error (set-car)) +(assert-error (set-car (list 1) (list 2) (list 3))) +(assert-error (set-car "")) +(assert-error (set-cdr 1)) +(assert-error (set-cdr)) +(assert-error (set-cdr (list 1) (list 2) (list 3))) +(assert-error (set-cdr "")) + +(assert (= 3 (length (list 1 2 3)))) +(assert (= 0 (length nil))) + +(assert (= 3 (nth 2 (list 1 2 3)))) +(assert (equal? nil (nthcdr 2 (list 1 2 3)))) +(assert (equal? (list 3) (nthcdr 1 (list 1 2 3)))) |
