1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-29 00:10:21 +02:00

(alist-delete): New tests.

This commit is contained in:
Kevin Ryde 2004-12-06 00:11:05 +00:00
parent 79239024f5
commit 4c6f3d05fb

View file

@ -112,6 +112,69 @@
(let ((old '((1 . 2) (3 . 4) (5 . 6))))
(pass-if old (valid-alist-copy? old (alist-copy old)))))
;;
;; alist-delete
;;
(with-test-prefix "alist-delete"
(pass-if "equality call arg order"
(let ((good #f))
(alist-delete 'k '((ak . 123))
(lambda (k ak)
(if (and (eq? k 'k) (eq? ak 'ak))
(set! good #t))))
good))
(pass-if "delete keys greater than 5"
(equal? '((4 . x) (5 . y))
(alist-delete 5 '((4 . x) (5 . y) (6 . z)) <)))
(pass-if "empty"
(equal? '() (alist-delete 'x '())))
(pass-if "(y)"
(equal? '() (alist-delete 'y '((y . 1)))))
(pass-if "(n)"
(equal? '((n . 1)) (alist-delete 'y '((n . 1)))))
(pass-if "(y y)"
(equal? '() (alist-delete 'y '((y . 1) (y . 2)))))
(pass-if "(n y)"
(equal? '((n . 1)) (alist-delete 'y '((n . 1) (y . 2)))))
(pass-if "(y n)"
(equal? '((n . 2)) (alist-delete 'y '((y . 1) (n . 2)))))
(pass-if "(n n)"
(equal? '((n . 1) (n . 2)) (alist-delete 'y '((n . 1) (n . 2)))))
(pass-if "(y y y)"
(equal? '() (alist-delete 'y '((y . 1) (y . 2) (y . 3)))))
(pass-if "(n y y)"
(equal? '((n . 1)) (alist-delete 'y '((n . 1) (y . 2) (y . 3)))))
(pass-if "(y n y)"
(equal? '((n . 2)) (alist-delete 'y '((y . 1) (n . 2) (y . 3)))))
(pass-if "(n n y)"
(equal? '((n . 1) (n . 2)) (alist-delete 'y '((n . 1) (n . 2) (y . 3)))))
(pass-if "(y y n)"
(equal? '( (n . 3)) (alist-delete 'y '((y . 1) (y . 2) (n . 3)))))
(pass-if "(n y n)"
(equal? '((n . 1) (n . 3)) (alist-delete 'y '((n . 1) (y . 2) (n . 3)))))
(pass-if "(y n n)"
(equal? '((n . 2) (n . 3)) (alist-delete 'y '((y . 1) (n . 2) (n . 3)))))
(pass-if "(n n n)"
(equal? '((n . 1) (n . 2) (n . 3)) (alist-delete 'y '((n . 1) (n . 2) (n . 3))))))
;;
;; append-map
;;