From a9c3bff96853d2a616162294b76e3f8ee4479f86 Mon Sep 17 00:00:00 2001 From: Kevin Ryde Date: Thu, 27 Jan 2005 23:20:14 +0000 Subject: [PATCH] (lset=): New tests. --- test-suite/tests/srfi-1.test | 65 +++++++++++++++++++++++++++++++++++- 1 file changed, 64 insertions(+), 1 deletion(-) diff --git a/test-suite/tests/srfi-1.test b/test-suite/tests/srfi-1.test index 10f7c1e75..95aff3c24 100644 --- a/test-suite/tests/srfi-1.test +++ b/test-suite/tests/srfi-1.test @@ -646,7 +646,70 @@ ;; in guile 1.6.7 and earlier, lset= incorrectly demanded at least one ;; list arg (pass-if "no args" - (eq? #t (lset= eq?)))) + (eq? #t (lset= eq?))) + + (with-test-prefix "one arg" + + (pass-if "()" + (eq? #t (lset= eqv? '()))) + + (pass-if "(1)" + (eq? #t (lset= eqv? '(1)))) + + (pass-if "(1 2)" + (eq? #t (lset= eqv? '(1 2))))) + + (with-test-prefix "two args" + + (pass-if "() ()" + (eq? #t (lset= eqv? '() '()))) + + (pass-if "(1) (1)" + (eq? #t (lset= eqv? '(1) '(1)))) + + (pass-if "(1) (2)" + (eq? #f (lset= eqv? '(1) '(2)))) + + (pass-if "(1) (1 2)" + (eq? #f (lset= eqv? '(1) '(1 2)))) + + (pass-if "(1 2) (2 1)" + (eq? #t (lset= eqv? '(1 2) '(2 1)))) + + (pass-if "called arg order" + (let ((good #t)) + (lset= (lambda (x y) + (if (not (= x (1- y))) + (set! good #f)) + #t) + '(1 1) '(2 2)) + good))) + + (with-test-prefix "three args" + + (pass-if "() () ()" + (eq? #t (lset= eqv? '() '() '()))) + + (pass-if "(1) (1) (1)" + (eq? #t (lset= eqv? '(1) '(1) '(1)))) + + (pass-if "(1) (1) (2)" + (eq? #f (lset= eqv? '(1) '(1) '(2)))) + + (pass-if "(1) (1) (1 2)" + (eq? #f (lset= eqv? '(1) '(1) '(1 2)))) + + (pass-if "(1 2 3) (3 2 1) (1 3 2)" + (eq? #t (lset= eqv? '(1 2 3) '(3 2 1) '(1 3 2)))) + + (pass-if "called arg order" + (let ((good #t)) + (lset= (lambda (x y) + (if (not (= x (1- y))) + (set! good #f)) + #t) + '(1 1) '(2 2) '(3 3)) + good)))) ;; ;; map