1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-16 16:50:21 +02:00

(map!): New tests.

This commit is contained in:
Kevin Ryde 2004-12-05 22:24:38 +00:00
parent f6ff79c415
commit 9fa5fdc6cd

View file

@ -415,6 +415,72 @@
(pass-if "(1 2) / (3 4) / (5 6)" (pass-if "(1 2) / (3 4) / (5 6)"
(equal? '(9 12) (map + '(1 2) '(3 4) '(5 6)))))) (equal? '(9 12) (map + '(1 2) '(3 4) '(5 6))))))
;;
;; map!
;;
(with-test-prefix "map!"
(pass-if-exception "no args" exception:wrong-num-args
(map!))
(pass-if-exception "no lists" exception:wrong-num-args
(map! 1+))
(with-test-prefix "one list"
(pass-if "empty"
(equal? '() (map! 1+ (list))))
(pass-if "(1)"
(equal? '(2) (map! 1+ (list 1))))
(pass-if "(1 2)"
(equal? '(2 3) (map! 1+ (list 1 2)))))
(with-test-prefix "two lists"
(pass-if "empty / empty"
(equal? '() (map! + (list) (list))))
(pass-if "empty / (1)"
(equal? '() (map! + (list) (list 1))))
(pass-if "empty / (1 2)"
(equal? '() (map! + (list) (list 1 2))))
(pass-if "(1) / empty"
(equal? '() (map! + (list 1) (list))))
(pass-if "(1) / (2)"
(equal? '(3) (map! + (list 1) (list 2))))
(pass-if "(1) / (2 3)"
(equal? '(3) (map! + (list 1) (list 2 3))))
(pass-if "(1 2) / empty"
(equal? '() (map! + (list 1 2) (list))))
(pass-if "(1 2) / (3)"
(equal? '(4) (map! + (list 1 2) (list 3))))
(pass-if "(1 2) / (3 4)"
(equal? '(4 6) (map! + (list 1 2) (list 3 4)))))
(with-test-prefix "three lists"
(pass-if "empty / empty / empty"
(equal? '() (map! + (list) (list) (list))))
(pass-if "(1) / (2) / ()"
(equal? '() (map! + (list 1) (list 2) (list))))
(pass-if "(1) / (2) / (3)"
(equal? '(6) (map! + (list 1) (list 2) (list 3))))
(pass-if "(1 2) / (3 4) / (5 6)"
(equal? '(9 12) (map! + (list 1 2) (list 3 4) (list 5 6))))))
;; ;;
;; partition ;; partition
;; ;;