/[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.6 by pfdietz, Fri May 23 03:43:03 2003 UTC revision 1.7 by pfdietz, Fri May 23 12:41:33 2003 UTC
# Line 295  Line 295 
295    ((c b a))    ((c b a))
296    ((z y x)))    ((z y x)))
297    
298    (deftest defgeneric.9
299      (let ((fn (eval '(defgeneric defgeneric.fun.9 (x &optional y z)
300                         (:method ((x number) &optional (y 10) (z 20))
301                                  (list x y z))
302                         (:method ((p symbol) &optional (q 's) (r 't))
303                                  (list r q p))))))
304        (values
305         (funcall fn 1)
306         (funcall fn 1 2)
307         (funcall fn 1 2 3)
308         (funcall fn 'a)
309         (funcall fn 'a 'b)
310         (funcall fn 'a 'b 'c)))
311      (1 10 20)
312      (1 2 20)
313      (1 2 3)
314      (t s a)
315      (t b a)
316      (c b a))
317    
318     (deftest defgeneric.10
319       (let ((fn (eval '(defgeneric defgeneric.fun.10 (x &rest y)
320                          (:method ((x number) &key foo) (list x foo))))))
321         (values
322          (funcall fn 1)
323          (funcall fn 1 :foo 'a)
324          (defgeneric.fun.10 5/3 :foo 'x :foo 'y)
325          (defgeneric.fun.10 10 :bar t :allow-other-keys t)
326          (defgeneric.fun.10 20 :allow-other-keys nil :foo 'x)))
327       (1 nil)
328       (1 a)
329       (5/3 x)
330       (10 nil)
331       (20 x))
332    
333     (deftest defgeneric.11
334       (let ((fn (eval '(defgeneric defgeneric.fun.11 (x &key)
335                          (:method ((x number) &key foo) (list x foo))))))
336         (values
337          (funcall fn 1)
338          (funcall fn 1 :foo 'a)
339          (defgeneric.fun.11 5/3 :foo 'x :foo 'y)
340          (defgeneric.fun.11 11 :bar t :allow-other-keys t)
341          (defgeneric.fun.11 20 :allow-other-keys nil :foo 'x)))
342       (1 nil)
343       (1 a)
344       (5/3 x)
345       (11 nil)
346       (20 x))
347    
348     (deftest defgeneric.12
349       (let ((fn (eval '(defgeneric defgeneric.fun.12 (x &key foo bar baz)
350                          (:method ((x number) &rest y) (list x y))))))
351         (values
352          (funcall fn 1)
353          (funcall fn 1 :foo 'a)
354          (defgeneric.fun.12 5/3 :foo 'x :foo 'y :bar 'z)
355          (defgeneric.fun.12 11 :zzz t :allow-other-keys t)
356          (defgeneric.fun.12 20 :allow-other-keys nil :foo 'x)))
357       (1 nil)
358       (1 (:foo a))
359       (5/3 (:foo x :foo y :bar z))
360       (11 (:zzz t :allow-other-keys t))
361       (20 (:allow-other-keys nil :foo x)))
362    
363     (deftest defgeneric.13
364       (let ((fn (eval '(defgeneric defgeneric.fun.13 (x &key)
365                          (:method ((x number) &key foo) (list x foo))
366                          (:method ((x symbol) &key bar) (list x bar))))))
367         (values
368          (funcall fn 1)
369          (funcall fn 'a)
370          (funcall fn 1 :foo 2)
371          (funcall fn 1 :foo 2 :bar 3)
372          (funcall fn 1 :bar 4)
373          (funcall fn 'a :foo 'b)
374          (funcall fn 'a :bar 'b)
375          (funcall fn 'a :foo 'c :bar 'b)))
376       (1 nil)
377       (a nil)
378       (1 2)
379       (1 2)
380       (1 nil)
381       (a nil)
382       (a b)
383       (a b))
384    
385     (deftest defgeneric.14
386       (let ((fn (eval '(defgeneric defgeneric.fun.14 (x &key &allow-other-keys)
387                          (:method ((x number) &key foo) (list x foo))
388                          (:method ((x symbol) &key bar) (list x bar))))))
389         (values
390          (funcall fn 1)
391          (funcall fn 'a)
392          (funcall fn 1 :foo 2)
393          (funcall fn 1 :foo 2 :bar 3)
394          (funcall fn 1 :bar 4)
395          (funcall fn 'a :foo 'b)
396          (funcall fn 'a :bar 'b)
397          (funcall fn 'a :foo 'c :bar 'b)
398          (funcall fn 1 :baz 10)
399          (funcall fn 'a :baz 10)
400          (funcall fn 1 :allow-other-keys nil :baz 'a)
401          (funcall fn 'a :allow-other-keys nil :baz 'b)
402          ))
403       (1 nil)
404       (a nil)
405       (1 2)
406       (1 2)
407       (1 nil)
408       (a nil)
409       (a b)
410       (a b)
411       (1 nil)
412       (a nil)
413       (1 nil)
414       (a nil))
415    
416    

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

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