From 668a1678682851a5a7aaa72cd4e0198f5e1e7058 Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Mon, 27 Jun 2022 12:50:36 -0700 Subject: MULTIPLE-VALUE-MAPCAN: don't return spurious 2nd value & some tests Signed-off-by: Sean Whitton --- tests/util.lisp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'tests') diff --git a/tests/util.lisp b/tests/util.lisp index 1390e7c..f0c88ad 100644 --- a/tests/util.lisp +++ b/tests/util.lisp @@ -2,6 +2,27 @@ (named-readtables:in-readtable :consfigurator) (in-consfig "consfigurator/tests") +(deftest multiple-value-mapcan.1 + (multiple-value-mapcan + (lambda (car1 car2 car3) + (values (list car1 car2 car3) (list car3 car2 car1))) + '(1 2 3 4) '(1 2 3) '(5 4 3 2 1)) + (1 1 5 2 2 4 3 3 3) (5 1 1 4 2 2 3 3 3)) + +(deftest multiple-value-mapcan.2 + (multiple-value-mapcan #'list '(1 2 3 4 5)) + (1 2 3 4 5)) + +(deftest multiple-value-mapcan.3 + (let ((n 0)) + (multiple-value-mapcan + (lambda (car1 car2 car3) + (if (> (incf n) 2) + (list car2) + (values (list car1 car2 car3) (list car3)))) + '(1 2 3 4) '(1 2 3) '(5 4 3 2 1))) + (1 1 5 2 2 4 3) (5 4)) + (deftest version<.1 (version< "1.0.1" "1.0.2") t) (deftest version<=.1 (version<= "1.0.1" "1.0.2") t) -- cgit v1.2.3