diff options
author | Sean Whitton <spwhitton@spwhitton.name> | 2022-06-27 12:50:36 -0700 |
---|---|---|
committer | Sean Whitton <spwhitton@spwhitton.name> | 2022-06-27 13:26:21 -0700 |
commit | 668a1678682851a5a7aaa72cd4e0198f5e1e7058 (patch) | |
tree | 182744ff5e7fb31769b943d81f38cab213105297 /tests | |
parent | d1d85342c3da2d8fed3f0efd07b170fc6495a163 (diff) | |
download | consfigurator-668a1678682851a5a7aaa72cd4e0198f5e1e7058.tar.gz |
MULTIPLE-VALUE-MAPCAN: don't return spurious 2nd value & some tests
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/util.lisp | 21 |
1 files changed, 21 insertions, 0 deletions
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) |