From 0775e415998452abd1de14e101561320e1e8c81c Mon Sep 17 00:00:00 2001 From: pfdietz <pfdietz@localhost> Date: Fri, 15 Oct 2004 03:13:04 +0000 Subject: [PATCH] Added a random test for TYPECASE --- ansi-tests/typecase.lsp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/ansi-tests/typecase.lsp b/ansi-tests/typecase.lsp index 531ed51d..7cb53e3d 100644 --- a/ansi-tests/typecase.lsp +++ b/ansi-tests/typecase.lsp @@ -100,6 +100,27 @@ (otherwise :bad))) (:good :good :good :good)) +;;; A randomized test + +(deftest typecase.19 + (let* ((u (coerce *universe* 'vector)) + (len1 (length u)) + (types (coerce *cl-all-type-symbols* 'vector)) + (len2 (length types))) + (loop + for n = (random 10) + for my-types = (loop repeat n collect (elt types (random len2))) + for val = (elt u (random len1)) + for i = (position val my-types :test #'typep) + for form = `(typecase ',val + ,@(loop for i from 0 for type in my-types collect `(,type ,i)) + (otherwise nil)) + for j = (eval form) + repeat 1000 + unless (eql i j) + collect (list n my-types val i form j))) + nil) + ;;; Error cases (deftest typecase.error.1 -- GitLab