From b4e9301202ab0278147b0d4ca0a8dac9bdf7154c Mon Sep 17 00:00:00 2001 From: Rob Browning Date: Sun, 20 Jun 2004 14:22:22 +0000 Subject: [PATCH] new test for SRFI-31. --- test-suite/tests/srfi-31.test | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 test-suite/tests/srfi-31.test diff --git a/test-suite/tests/srfi-31.test b/test-suite/tests/srfi-31.test new file mode 100644 index 000000000..0df06869e --- /dev/null +++ b/test-suite/tests/srfi-31.test @@ -0,0 +1,33 @@ +;;;; srfi-31.test --- Test suite for Guile's SRFI-31 functions. -*- scheme -*- +;;;; +;;;; Copyright (C) 2004 Free Software Foundation, Inc. +;;;; +;;;; This library is free software; you can redistribute it and/or +;;;; modify it under the terms of the GNU Lesser General Public +;;;; License as published by the Free Software Foundation; either +;;;; version 2.1 of the License, or (at your option) any later version. +;;;; +;;;; This library 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 +;;;; Lesser General Public License for more details. +;;;; +;;;; You should have received a copy of the GNU Lesser General Public +;;;; License along with this library; if not, write to the Free Software +;;;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +(use-modules (srfi srfi-31)) + +(with-test-prefix "rec special form" + + (pass-if "rec expressions" + (let ((ones-list (rec ones (cons 1 (delay ones))))) + (and (= 1 (car ones-list)) + (= 1 (car (force (cdr ones-list))))))) + + (pass-if "rec functions" + (let ((test-func (rec (add-upto n) + (if (positive? n) + (+ n (add-upto (- n 1))) + 0)))) + (= 15 (test-func 5))))) -- 2.20.1