summaryrefslogtreecommitdiff
path: root/combinations/combinations-test.scm
diff options
context:
space:
mode:
Diffstat (limited to 'combinations/combinations-test.scm')
-rw-r--r--combinations/combinations-test.scm37
1 files changed, 37 insertions, 0 deletions
diff --git a/combinations/combinations-test.scm b/combinations/combinations-test.scm
new file mode 100644
index 0000000..60f5fd1
--- /dev/null
+++ b/combinations/combinations-test.scm
@@ -0,0 +1,37 @@
+;; -*- compile-command: "guile -L . combinations-test.scm"; -*-
+(use-modules (srfi srfi-64)
+ (combinations))
+
+(test-begin "harness")
+
+
+(test-equal "zero combinations"
+ '(())
+ (combinations '(1 2 3 4 5) 0))
+
+(test-equal "single combinations"
+ '((1) (2) (3) (4) (5))
+ (combinations '(1 2 3 4 5) 1))
+
+(test-equal "double combinations"
+ '((1 2) (1 3) (1 4) (1 5)
+ (2 3) (2 4) (2 5)
+ (3 4) (3 5)
+ (4 5))
+ (combinations '(1 2 3 4 5) 2))
+
+(test-equal "triple combinations"
+ '((1 2 3) (1 2 4) (1 2 5) (1 3 4) (1 3 5) (1 4 5)
+ (2 3 4) (2 3 5) (2 4 5)
+ (3 4 5))
+ (combinations '(1 2 3 4 5) 3))
+
+(test-equal "quadruple combinations"
+ '((1 2 3 4) (1 2 3 5) (1 2 4 5) (1 3 4 5) (2 3 4 5))
+ (combinations '(1 2 3 4 5) 4))
+
+(test-equal "quintuple combinations"
+ '((1 2 3 4 5))
+ (combinations '(1 2 3 4 5) 5))
+
+(test-end "harness")