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 | |
| parent | 60b8cd0df3ed844ea5c77286ac27afff5b3c9b37 (diff) | |
add list function
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/arithmetic.lisp | 20 | ||||
| -rw-r--r-- | tests/control-flow.lisp | 2 | ||||
| -rw-r--r-- | tests/eq.lisp | 48 | ||||
| -rw-r--r-- | tests/list.lisp | 23 | ||||
| -rw-r--r-- | tests/string.lisp | 6 | ||||
| -rw-r--r-- | tests/symbol.lisp | 8 | ||||
| -rw-r--r-- | tests/test.lisp | 1 |
7 files changed, 66 insertions, 42 deletions
diff --git a/tests/arithmetic.lisp b/tests/arithmetic.lisp index 1942a1d..38b1185 100644 --- a/tests/arithmetic.lisp +++ b/tests/arithmetic.lisp @@ -5,18 +5,18 @@ (assert (= 2 (i/ 11 5))) (assert (= 1 (mod 11 5))) -(assert (zerop 0)) -(assert (not (zerop 1))) -(assert (not (zerop -1))) +(assert (zero? 0)) +(assert (not (zero? 1))) +(assert (not (zero? -1))) -(assert (plusp 1)) -(assert (plusp 1.0)) -(assert (not (plusp 0))) -(assert (not (plusp -1))) +(assert (plus? 1)) +(assert (plus? 1.0)) +(assert (not (plus? 0))) +(assert (not (plus? -1))) -(assert (minusp -1)) -(assert (not (minusp 0))) -(assert (not (minusp 1))) +(assert (minus? -1)) +(assert (not (minus? 0))) +(assert (not (minus? 1))) (assert (< 1 2)) (assert (< 1.0 2)) diff --git a/tests/control-flow.lisp b/tests/control-flow.lisp index 321aae0..965213e 100644 --- a/tests/control-flow.lisp +++ b/tests/control-flow.lisp @@ -1,6 +1,6 @@ (assert-error (if (error "") 1 2)) -(defmacro inmacro x (progn ,@x)) +(defmacro inmacro x `(progn ,@x)) (let ((i 0)) (while #t diff --git a/tests/eq.lisp b/tests/eq.lisp index 4db31ce..a7758bb 100644 --- a/tests/eq.lisp +++ b/tests/eq.lisp @@ -1,27 +1,27 @@ -(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)) -(assert (eq 1.0 1.0)) -(assert (eq #\a #\a)) -(assert (eq #f #f)) -(assert (eq nil nil)) -(assert (eq #t #t)) -(assert (not (eq 1 2))) -(assert (not (eq "a" "a"))) -(assert (not (eq 'a 'b))) -(assert (not (eq '(1 2) '(1 2)))) +(assert (eq? 1 1)) +(assert (eq? 'a 'a)) +(assert (eq? 1.0 1.0)) +(assert (eq? #\a #\a)) +(assert (eq? #f #f)) +(assert (eq? nil nil)) +(assert (eq? #t #t)) +(assert (not (eq? 1 2))) +(assert (not (eq? "a" "a"))) +(assert (not (eq? 'a 'b))) +(assert (not (eq? '(1 2) '(1 2)))) -(assert (equal 1 1)) -(assert (equal 'a 'a)) -(assert (equal "a" "a")) -(assert (equal 1.0 1.0)) -(assert (equal #\a #\a)) -(assert (equal #f #f)) -(assert (equal '(1 2) '(1 2))) +(assert (equal? 1 1)) +(assert (equal? 'a 'a)) +(assert (equal? "a" "a")) +(assert (equal? 1.0 1.0)) +(assert (equal? #\a #\a)) +(assert (equal? #f #f)) +(assert (equal? '(1 2) '(1 2))) -(assert (not (equal 1 2))) -(assert (not (equal 'a 'b))) -(assert (not (equal "a" "b"))) -(assert (not (equal '(1 2 3) '(1 2)))) +(assert (not (equal? 1 2))) +(assert (not (equal? 'a 'b))) +(assert (not (equal? "a" "b"))) +(assert (not (equal? '(1 2 3) '(1 2)))) 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)))) diff --git a/tests/string.lisp b/tests/string.lisp index a55e558..a323c96 100644 --- a/tests/string.lisp +++ b/tests/string.lisp @@ -1,5 +1,5 @@ -(assert (equal "abc" (string #\a #\b #\c))) -(assert (equal "ABC" (string 65 66 67))) +(assert (equal? "abc" (string #\a #\b #\c))) +(assert (equal? "ABC" (string 65 66 67))) (assert (string= "abc" (string #\a #\b #\c))) (assert (string= "ABC" (string 65 66 67))) @@ -25,5 +25,5 @@ (assert (not (string> s1 s2))) (assert (string= "abc" (strip-string "\n\tabc \t\n"))) -(assert (equal ("a" "b" "c") (split-string "a,b,c" #\,))) +(assert (equal? (list "a" "b" "c") (split-string "a,b,c" #\,))) diff --git a/tests/symbol.lisp b/tests/symbol.lisp index f771272..e19c514 100644 --- a/tests/symbol.lisp +++ b/tests/symbol.lisp @@ -1,4 +1,4 @@ -(assert (eq 'a (intern "a"))) -(assert (eq (intern "ab") (intern (concat "a" "b")))) -(assert (equal "abc" (symbol->string 'abc))) -(assert (not (eq (gensym) (gensym)))) +(assert (eq? 'a (intern "a"))) +(assert (eq? (intern "ab") (intern (concat "a" "b")))) +(assert (equal? "abc" (symbol->string 'abc))) +(assert (not (eq? (gensym) (gensym)))) diff --git a/tests/test.lisp b/tests/test.lisp index a303ed3..59f91fb 100644 --- a/tests/test.lisp +++ b/tests/test.lisp @@ -18,6 +18,7 @@ (test-module macro) (test-module let-binding) (test-module string) +(test-module list) (princ "\n\nTest with intensive GC:\n\n") (_alwaysgc #t) |
