aboutsummaryrefslogtreecommitdiff
path: root/tests/ccwl.scm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ccwl.scm')
-rw-r--r--tests/ccwl.scm34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/ccwl.scm b/tests/ccwl.scm
new file mode 100644
index 0000000..3d4799c
--- /dev/null
+++ b/tests/ccwl.scm
@@ -0,0 +1,34 @@
+(use-modules (srfi srfi-71)
+ (srfi srfi-64))
+
+(define break-pair
+ (module-ref (resolve-module '(ccwl ccwl))
+ 'break-pair))
+
+(test-begin "ccwl")
+
+(test-assert "break-pair"
+ (let ((prefix tail
+ (break-pair (case-lambda
+ ((element next)
+ (or (odd? element)
+ (odd? next)))
+ ((last)
+ (odd? last)))
+ (list 12 66 74 95 7 74 96 46 99 76 37))))
+ (equal? prefix (list 12 66))
+ (equal? tail (list 74 95 7 74 96 46 99 76 37))))
+
+(test-assert "break-pair: check last elemet handling"
+ (let ((prefix tail
+ (break-pair (case-lambda
+ ((element next)
+ (or (odd? element)
+ (odd? next)))
+ ((last)
+ (odd? last)))
+ (list 12 66 74))))
+ (equal? prefix (list 12 66 74))
+ (equal? tail (list))))
+
+(test-end "ccwl")