--- srfi-1.test.~1.9.~ 2003-12-03 08:18:16.000000000 +1100 +++ srfi-1.test 2004-11-30 17:54:42.000000000 +1100 @@ -458,6 +458,50 @@ (drop '(a b . c) 2)))) ;; +;; filter-map +;; + +(with-test-prefix "filter-map" + + (with-test-prefix "one list" + (pass-if "(1)" + (equal? '(1) (filter-map noop '(1)))) + + (pass-if "(#f)" + (equal? '() (filter-map noop '(#f)))) + + (pass-if "(1 2)" + (equal? '(1 2) (filter-map noop '(1 2)))) + + (pass-if "(#f 2)" + (equal? '(2) (filter-map noop '(#f 2)))) + + (pass-if "(#f #f)" + (equal? '() (filter-map noop '(#f #f)))) + + (pass-if "(1 2 3)" + (equal? '(1 2 3) (filter-map noop '(1 2 3)))) + + (pass-if "(#f 2 3)" + (equal? '(2 3) (filter-map noop '(#f 2 3)))) + + (pass-if "(1 #f 3)" + (equal? '(1 3) (filter-map noop '(1 #f 3)))) + + (pass-if "(1 2 #f)" + (equal? '(1 2) (filter-map noop '(1 2 #f))))) + + (with-test-prefix "two lists" + (pass-if "(1 2 3) (4 5 6)" + (equal? '(1 2 3) (filter-map noop '(1 2 3) '(4 5 6)))) + + (pass-if "(#f 2 3) (4 5)" + (equal? '(2) (filter-map noop '(#f 2 3) '(4 5)))) + + (pass-if "(4 #f) (1 2 3)" + (equal? '(4) (filter-map noop '(4 #f) '(1 2 3)))))) + +;; ;; length+ ;;