;; -*- 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")