From 994b8fc8ed4c3a1606cbb5f7abef70805fc5d21c Mon Sep 17 00:00:00 2001 From: pfdietz <pfdietz@localhost> Date: Tue, 22 Oct 2002 05:37:24 +0000 Subject: [PATCH] Beginning of tests of iteration forms. --- ansi-tests/iteration.lsp | 50 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 ansi-tests/iteration.lsp diff --git a/ansi-tests/iteration.lsp b/ansi-tests/iteration.lsp new file mode 100644 index 00000000..9e13fb98 --- /dev/null +++ b/ansi-tests/iteration.lsp @@ -0,0 +1,50 @@ +;-*- Mode: Lisp -*- +;;;; Author: Paul Dietz +;;;; Created: Mon Oct 21 22:58:00 2002 +;;;; Contains: Tests for iteration forms + +(in-package :cl-test) + +;;; Confirm that most macros exist + +(defparameter *iteration-macros* + '(do do* dotimes dolist loop)) + +(deftest iteration-macros + (remove-if #'macro-function *iteration-macros*) + nil) + +;;; Tests of DO + +(deftest do.1 + (do ((i 0 (1+ i))) + ((>= i 10) i)) + 10) + +(deftest do.2 + (do ((i 0 (1+ j)) + (j 0 (1+ i))) + ((>= i 10) (+ i j))) + 20) + +(deftest do.3 + (let ((x nil)) + (do ((i 0 (1+ i))) + ((>= i 10) x) + (push i x))) + (9 8 7 6 5 4 3 2 1 0)) + +(deftest do.4 + (let ((x nil)) + (do ((i 0 (1+ i))) + ((>= i 10) x) + (declare (fixnum i)) + (push i x))) + (9 8 7 6 5 4 3 2 1 0)) + +(deftest do.5 + (do ((i 0 (1+ i))) + (nil) + (when (> i 10) (return i))) + 11) + -- GitLab