(break): New tests.
authorKevin Ryde <user42@zip.com.au>
Mon, 6 Dec 2004 00:41:41 +0000 (00:41 +0000)
committerKevin Ryde <user42@zip.com.au>
Mon, 6 Dec 2004 00:41:41 +0000 (00:41 +0000)
test-suite/tests/srfi-1.test

index 52dd569..a8356a6 100644 (file)
     (pass-if "(1) (2) / 9 9"
       (equal? '(1 2) (append-map noop '((1) (2)) '(9 9))))))
   
+;;
+;; break
+;;
+
+(with-test-prefix "break"
+
+  (define (test-break lst want-v1 want-v2)
+    (call-with-values
+       (lambda ()
+         (break negative? lst))
+      (lambda (got-v1 got-v2)
+       (and (equal? got-v1 want-v1)
+            (equal? got-v2 want-v2)))))
+
+  (pass-if "empty"
+    (test-break '() '() '()))
+
+  (pass-if "y"
+    (test-break '(1) '(1) '()))
+
+  (pass-if "n"
+    (test-break '(-1) '() '(-1)))
+
+  (pass-if "yy"
+    (test-break '(1 2) '(1 2) '()))
+
+  (pass-if "ny"
+    (test-break '(-1 1) '() '(-1 1)))
+
+  (pass-if "yn"
+    (test-break '(1 -1) '(1) '(-1)))
+
+  (pass-if "nn"
+    (test-break '(-1 -2) '() '(-1 -2)))
+
+  (pass-if "yyy"
+    (test-break '(1 2 3) '(1 2 3) '()))
+
+  (pass-if "nyy"
+    (test-break '(-1 1 2) '() '(-1 1 2)))
+
+  (pass-if "yny"
+    (test-break '(1 -1 2) '(1) '(-1 2)))
+
+  (pass-if "nny"
+    (test-break '(-1 -2 1) '() '(-1 -2 1)))
+
+  (pass-if "yyn"
+    (test-break '(1 2 -1) '(1 2) '(-1)))
+
+  (pass-if "nyn"
+    (test-break '(-1 1 -2) '() '(-1 1 -2)))
+
+  (pass-if "ynn"
+    (test-break '(1 -1 -2) '(1) '(-1 -2)))
+
+  (pass-if "nnn"
+    (test-break '(-1 -2 -3) '() '(-1 -2 -3))))
+
 ;;
 ;; concatenate and concatenate!
 ;;