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:
parent
f6ff79c415
commit
9fa5fdc6cd
1 changed files with 66 additions and 0 deletions
|
@ -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
|
||||||
;;
|
;;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue