/[gcl]/gcl/ansi-tests/defgeneric.lsp
ViewVC logotype

Diff of /gcl/ansi-tests/defgeneric.lsp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.5 by pfdietz, Wed May 21 11:21:57 2003 UTC revision 1.6 by pfdietz, Fri May 23 03:43:03 2003 UTC
# Line 71  Line 71 
71    program-error)    program-error)
72    
73    
74    ;;; Non-congruent methods cause defgeneric to signal an error
75    
76    (deftest defgeneric.error.9
77      (handler-case
78       (progn
79         (eval '(defgeneric defgeneric-error-fn.9 (x)
80                  (:method ((x t)(y t)) t)))
81         :bad)
82       (error () :good))
83      :good)
84    
85    
86    (deftest defgeneric.error.10
87      (handler-case
88       (progn
89         (eval '(defgeneric defgeneric-error-fn.10 (x &optional y)
90                  (:method ((x t)) t)))
91         :bad)
92       (error () :good))
93      :good)
94    
95    (deftest defgeneric.error.11
96      (handler-case
97       (progn
98         (eval '(defgeneric defgeneric-error-fn.11 (x &optional y)
99                  (:method (x &optional y z) t)))
100         :bad)
101       (error () :good))
102      :good)
103    
104    (deftest defgeneric.error.12
105      (handler-case
106       (progn
107         (eval '(defgeneric defgeneric-error-fn.12 (x &rest y)
108                  (:method (x) t)))
109         :bad)
110       (error () :good))
111      :good)
112    
113    (deftest defgeneric.error.13
114      (handler-case
115       (progn
116         (eval '(defgeneric defgeneric-error-fn.13 (x)
117                  (:method (x &rest y) t)))
118         :bad)
119       (error () :good))
120      :good)
121    
122    (deftest defgeneric.error.14
123      (handler-case
124       (progn
125         (eval '(defgeneric defgeneric-error-fn.14 (x &key)
126                  (:method (x) t)))
127         :bad)
128       (error () :good))
129      :good)
130    
131    (deftest defgeneric.error.15
132      (handler-case
133       (progn
134         (eval '(defgeneric defgeneric-error-fn.15 (x &key y)
135                  (:method (x) t)))
136         :bad)
137       (error () :good))
138      :good)
139    
140    (deftest defgeneric.error.16
141      (handler-case
142       (progn
143         (eval '(defgeneric defgeneric-error-fn.16 (x)
144                  (:method (x &key) t)))
145         :bad)
146       (error () :good))
147      :good)
148    
149    (deftest defgeneric.error.17
150      (handler-case
151       (progn
152         (eval '(defgeneric defgeneric-error-fn.17 (x)
153                  (:method (x &key foo) t)))
154         :bad)
155       (error () :good))
156      :good)
157    
158    (deftest defgeneric.error.18
159      (handler-case
160       (progn
161         (eval '(defgeneric defgeneric-error-fn.18 (x &key foo)
162                  (:method (x &key) t)))
163         :bad)
164       (error () :good))
165      :good)
166    
167    (deftest defgeneric.error.19
168      (handler-case
169       (progn
170         (eval '(defgeneric defgeneric-error-fn.19 (x &key foo)
171                  (:method (x &key bar) t)))
172         :bad)
173       (error () :good))
174      :good)
175    
176  ;;; Non error cases  ;;; Non error cases
177    
178  (deftest defgeneric.1  (deftest defgeneric.1
# Line 168  Line 270 
270       (multiple-value-list (apply fn nil))))       (multiple-value-list (apply fn nil))))
271    t t (a) (a) (a))    t t (a) (a) (a))
272    
273    (deftest defgeneric.8
274      (let ((fn (eval '(defgeneric defgeneric.fun.8 (x &optional y z)
275                         (:method ((x number) &optional y z)
276                                  (list x y z))
277                         (:method ((p symbol) &optional q r)
278                                  (list r q p))))))
279        (values
280         (typep* fn 'generic-function)
281         (typep* fn 'standard-generic-function)
282         (multiple-value-list (funcall fn 1))
283         (multiple-value-list (funcall fn 1 2))
284         (multiple-value-list (funcall fn 1 2 3))
285         (multiple-value-list (defgeneric.fun.8 'a))
286         (multiple-value-list (defgeneric.fun.8 'a 'b))
287         (multiple-value-list (defgeneric.fun.8 'a 'b 'c))
288         (multiple-value-list (apply fn '(x y z)))))
289      t t
290      ((1 nil nil))
291      ((1 2 nil))
292      ((1 2 3))
293      ((nil nil a))
294      ((nil b a))
295      ((c b a))
296      ((z y x)))
297    

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26