From 5169aeb72ebbc0ec95b04bdbb608a657a4742670 Mon Sep 17 00:00:00 2001
From: pfdietz <pfdietz@localhost>
Date: Tue, 13 Jul 2004 12:27:30 +0000
Subject: [PATCH] Added forgotten tests for GET

---
 ansi-tests/get.lsp          | 79 +++++++++++++++++++++++++++++++++++++
 ansi-tests/load-symbols.lsp |  2 +
 2 files changed, 81 insertions(+)
 create mode 100644 ansi-tests/get.lsp

diff --git a/ansi-tests/get.lsp b/ansi-tests/get.lsp
new file mode 100644
index 00000000..30a101e0
--- /dev/null
+++ b/ansi-tests/get.lsp
@@ -0,0 +1,79 @@
+;-*- Mode:     Lisp -*-
+;;;; Author:   Paul Dietz
+;;;; Created:  Tue Jul 13 07:01:47 2004
+;;;; Contains: Tests of GET
+
+(in-package :cl-test)
+
+(deftest get.1
+  (let ((sym (gensym))) (get sym :foo))
+  nil)
+
+(deftest get.2
+  (let ((sym (gensym))) (get sym :foo :bar))
+  :bar)
+
+(deftest get.3
+  (let ((sym (gensym))) (get sym :foo (values :bar nil)))
+  :bar)
+
+(deftest get.4
+  (let ((sym (gensym)))
+    (setf (symbol-plist sym) (list :foo 1 :bar 2 :foo 3))
+    (values (get sym :foo) (get sym :bar)))
+  1 2)
+
+(deftest get.5
+  (let ((evaluated nil)
+	(sym (gensym)))
+    (assert (equal (multiple-value-list (setf (get sym :foo) 1))
+		   '(1)))
+    (values
+     (get sym :foo (progn (setf evaluated t) nil))
+     evaluated))
+  1 t)
+
+(deftest get.6
+  (let ((evaluated nil)
+	(sym (gensym)))
+    (assert (equal (multiple-value-list
+		    (setf (get sym :foo
+			       (progn (setf evaluated t) nil))
+			  1))
+		   '(1)))
+    (values
+     (get sym :foo)
+     evaluated))
+  1 t)
+
+;;; Error tests
+
+(deftest get.error.1
+  (signals-error (get) program-error)
+  t)
+
+(deftest get.error.2
+  (signals-error (get nil) program-error)
+  t)
+
+(deftest get.error.3
+  (signals-error (get nil nil nil nil) program-error)
+  t)
+
+(deftest get.error.4
+  (loop for x in *mini-universe*
+	for form = `(signals-error (get ',x :foo) type-error)
+	unless (or (symbolp x) (eval form))
+	collect x)
+  nil)
+
+(deftest get.error.5
+  (loop for x in *mini-universe*
+	for form = `(signals-error (setf (get ',x :foo) nil) type-error)
+	unless (or (symbolp x) (eval form))
+	collect x)
+  nil)
+
+
+
+ 
\ No newline at end of file
diff --git a/ansi-tests/load-symbols.lsp b/ansi-tests/load-symbols.lsp
index 5bcd1fdb..6a02e689 100644
--- a/ansi-tests/load-symbols.lsp
+++ b/ansi-tests/load-symbols.lsp
@@ -13,4 +13,6 @@
 (load "special-operator-p.lsp")
 (load "set.lsp")
 (load "remprop.lsp")
+(load "get.lsp")
+
 
-- 
GitLab