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