#| amb-test.scm: Test suite for amb.scm. Copyright (C) 2007 Will M. Farr <farr@mit.edu> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. |# (module amb-test mzscheme (require (planet "test.ss" ("schematics" "schemeunit.plt" 2)) "../amb.scm" (lib "list.ss" "srfi" "1")) (provide amb-test-suite) (define amb-test-suite (test-suite "amb.scm test suite" (test-case "amb-collect collects the correct values" (check-true (lset= equal? (amb-collect (let ((a (amb 1 2 3 4 5)) (b (amb 6 7 8 9 10))) (if (= (+ a b) 11) (cons a b) (amb)))) '((1 . 10) (2 . 9) (3 . 8) (4 . 7) (5 . 6))))))))