/[gcl]/gcl/ansi-tests/random-type-prop-tests-05.lsp
ViewVC logotype

Diff of /gcl/ansi-tests/random-type-prop-tests-05.lsp

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

revision 1.1 by pfdietz, Mon Mar 14 03:46:11 2005 UTC revision 1.2 by pfdietz, Sat Apr 23 14:08:57 2005 UTC
# Line 20  Line 20 
20    
21  (def-type-prop-test consp 'consp '(t) 1)  (def-type-prop-test consp 'consp '(t) 1)
22  (def-type-prop-test atom 'atom '(t) 1)  (def-type-prop-test atom 'atom '(t) 1)
23    
24    (def-type-prop-test rplaca 'rplaca '(cons t) 2 :replicate t)
25    (def-type-prop-test rplacd 'rplacd '(cons t) 2 :replicate t)
26    
27  (def-type-prop-test car 'car '((cons t t)) 1)  (def-type-prop-test car 'car '((cons t t)) 1)
28  (def-type-prop-test first 'first '((cons t t)) 1)  (def-type-prop-test first 'first '((cons t t)) 1)
29  (def-type-prop-test cdr 'cdr '((cons t t)) 1)  (def-type-prop-test cdr 'cdr '((cons t t)) 1)
# Line 70  Line 74 
74    '((cons t (cons t (cons t (cons t (cons t (cons t (cons t (cons t (cons t (cons t t)))))))))))    '((cons t (cons t (cons t (cons t (cons t (cons t (cons t (cons t (cons t (cons t t)))))))))))
75    1)    1)
76    
77    (def-type-prop-test pop '(lambda (x) (list (pop x) x)) '((cons t t)) 1)
78    (def-type-prop-test push '(lambda (x y) (list (push x y) x y)) '(t t) 2)
79    
80  (def-type-prop-test copy-tree.1 'copy-tree '((cons t t)) 1)  (def-type-prop-test copy-tree.1 'copy-tree '((cons t t)) 1)
81  (def-type-prop-test copy-tree.2 'copy-tree '((cons (cons t t) (cons t t))) 1)  (def-type-prop-test copy-tree.2 'copy-tree '((cons (cons t t) (cons t t))) 1)
# Line 98  Line 104 
104                                         (eql :key) (or null (eql not) (eql ,#'not))                                         (eql :key) (or null (eql not) (eql ,#'not))
105                                         (eql :test) (or (eql equal) (eql ,#'equal))) 7)                                         (eql :test) (or (eql equal) (eql ,#'equal))) 7)
106    
107    (def-type-prop-test nsubst.1 'nsubst '(t t t) 3 :replicate t)
108    (def-type-prop-test nsubst.2 'nsubst '(t t (cons t t)) 3 :replicate t)
109    (def-type-prop-test nsubst.3 'nsubst '(t t list) 3 :replicate t)
110    (def-type-prop-test nsubst.4 'nsubst '(t t (cons (cons t t) (cons t t))) 3 :replicate t)
111    (def-type-prop-test nsubst.5 'nsubst `(boolean t (cons (cons t t) (cons t t))
112                                                   (eql :key)
113                                                   (or null (eql not) (eql ,#'not))) 5
114                                                   :replicate t)
115    (def-type-prop-test nsubst.6 'nsubst `(t t (cons (cons t t) (cons t t)) (eql :test) (or (eql equal) (eql ,#'equal))) 5 :replicate t)
116    (def-type-prop-test nsubst.7 'nsubst `(t t (cons (cons t t) (cons t t)) (eql :test-not) (or (eql equal) (eql ,#'equal))) 5 :replicate t)
117    (def-type-prop-test nsubst.8 'nsubst `(t t (cons (cons t t) (cons t t))
118                                             (eql :key) (or null (eql not) (eql ,#'not))
119                                             (eql :test) (or (eql equal) (eql ,#'equal))) 7
120                                             :replicate t)
121    
122    
123  (def-type-prop-test subst-if.1 'subst-if `(t (or (eql not) (eql ,#'not)) list) 3)  (def-type-prop-test subst-if.1 'subst-if `(t (or (eql not) (eql ,#'not)) list) 3)
124  (def-type-prop-test subst-if.2 'subst-if `(t (or (eql not) (eql ,#'not)) (cons (or null t) (or null t))) 3)  (def-type-prop-test subst-if.2 'subst-if `(t (or (eql not) (eql ,#'not)) (cons (or null t) (or null t))) 3)
125  (def-type-prop-test subst-if.3 'subst-if `(t (eql identity)  (def-type-prop-test subst-if.3 'subst-if `(t (eql identity)
126                                               (cons (cons (cons t t) (cons t t)) (cons (cons t t) (cons t t)))                                               (cons (cons (cons t t) (cons t t)) (cons (cons t t) (cons t t)))
127                                               (eql :key) (or null (eql not) (eql ,#'not))) 5)                                               (eql :key) (or null (eql not) (eql ,#'not))) 5)
128    
129    (def-type-prop-test nsubst-if.1 'nsubst-if `(t (or (eql not) (eql ,#'not)) list) 3 :replicate t)
130    (def-type-prop-test nsubst-if.2 'nsubst-if `(t (or (eql not) (eql ,#'not)) (cons (or null t) (or null t))) 3 :replicate t)
131    (def-type-prop-test nsubst-if.3 'nsubst-if `(t (eql identity)
132                                                   (cons (cons (cons t t) (cons t t)) (cons (cons t t) (cons t t)))
133                                                   (eql :key) (or null (eql not) (eql ,#'not))) 5
134                                                   :replicate t)
135    
136  (def-type-prop-test subst-if-not.1 'subst-if-not `(t (or (eql not) (eql ,#'not)) list) 3)  (def-type-prop-test subst-if-not.1 'subst-if-not `(t (or (eql not) (eql ,#'not)) list) 3)
137  (def-type-prop-test subst-if-not.2 'subst-if-not `(t (or (eql not) (eql ,#'not)) (cons (or null t) (or null t))) 3)  (def-type-prop-test subst-if-not.2 'subst-if-not `(t (or (eql not) (eql ,#'not)) (cons (or null t) (or null t))) 3)
138  (def-type-prop-test subst-if-not.3 'subst-if-not `(t (eql identity)  (def-type-prop-test subst-if-not.3 'subst-if-not `(t (eql identity)
139                                                       (cons (cons (cons t t) (cons t t)) (cons (cons t t) (cons t t)))                                                       (cons (cons (cons t t) (cons t t)) (cons (cons t t) (cons t t)))
140                                                       (eql :key) (or null (eql not) (eql ,#'not))) 5)                                                       (eql :key) (or null (eql not) (eql ,#'not))) 5)
141    
142    (def-type-prop-test nsubst-if-not.1 'nsubst-if-not `(t (or (eql not) (eql ,#'not)) list) 3 :replicate t)
143    (def-type-prop-test nsubst-if-not.2 'nsubst-if-not `(t (or (eql not) (eql ,#'not)) (cons (or null t) (or null t))) 3 :replicate t)
144    (def-type-prop-test nsubst-if-not.3 'nsubst-if-not `(t (eql identity)
145                                                           (cons (cons (cons t t) (cons t t)) (cons (cons t t) (cons t t)))
146                                                           (eql :key) (or null (eql not) (eql ,#'not))) 5
147                                                           :replicate t)
148    
149  (def-type-prop-test tree-equal.1 'tree-equal (list t #'(lambda (x) `(or t (eql ,(copy-tree x))))) 2)  (def-type-prop-test tree-equal.1 'tree-equal (list t #'(lambda (x) `(or t (eql ,(copy-tree x))))) 2)
150  (def-type-prop-test tree-equal.2 'tree-equal (list 'list #'(lambda (x) `(or list (eql ,(copy-tree t))))) 2)  (def-type-prop-test tree-equal.2 'tree-equal (list 'list #'(lambda (x) `(or list (eql ,(copy-tree t))))) 2)
151  (def-type-prop-test tree-equal.3 'tree-equal (list '(cons t t)  (def-type-prop-test tree-equal.3 'tree-equal (list '(cons t t)
# Line 144  Line 180 
180  (def-type-prop-test append.4 'append '(list list list t) 4)  (def-type-prop-test append.4 'append '(list list list t) 4)
181    
182  (def-type-prop-test nconc.1 'nconc '(list) 1)  (def-type-prop-test nconc.1 'nconc '(list) 1)
183  (def-type-prop-test nconc.2 '(lambda (x y) (nconc (copy-list x) y))  '(list list) 2)  (def-type-prop-test nconc.2 'nconc '(list list) 2 :replicate t)
184  (def-type-prop-test nconc.3 '(lambda (x y z) (nconc (copy-list x) (copy-list y) z))  '(list list list) 3)  (def-type-prop-test nconc.3 'nconc '(list list list) 3 :replicate t)
185    (def-type-prop-test nconc.4 'nconc '(list list list list) 4 :replicate t)
186    
187  (def-type-prop-test revappend 'revappend '(list t) 2)  (def-type-prop-test revappend 'revappend '(list t) 2)
188  (def-type-prop-test nreconc '(lambda (x y) (nreconc (copy-list x) y)) '(list t) 2)  (def-type-prop-test nreconc 'nreconc '(list t) 2 :replicate t)
189    
190  (def-type-prop-test butlast.1 'butlast '(list) 1)  (def-type-prop-test butlast.1 'butlast '(list) 1)
191  (def-type-prop-test butlast.2 'butlast '(list (integer 0 20)) 2)  (def-type-prop-test butlast.2 'butlast '(list (integer 0 20)) 2)
192    
193  (def-type-prop-test nbutlast.1 '(lambda (x) (nbutlast (copy-list x))) '(list) 1)  (def-type-prop-test nbutlast.1 'nbutlast '(list) 1 :replicate t)
194  (def-type-prop-test nbutlast.2 '(lambda (x n) (nbutlast (copy-list x) n)) '(list (integer 0 20)) 2)  (def-type-prop-test nbutlast.2 'nbutlast '(list (integer 0 20)) 2 :replicate t)
195    
196  (def-type-prop-test last.1 'last '(list) 1)  (def-type-prop-test last.1 'last '(list) 1)
197  (def-type-prop-test last.2 'last '(list (integer 0 15)) 2)  (def-type-prop-test last.2 'last '(list (integer 0 15)) 2)
# Line 220  Line 257 
257  (def-type-prop-test mapl.1 'mapl '((eql list)) 2 :rest-type 'list :maxargs 10)  (def-type-prop-test mapl.1 'mapl '((eql list)) 2 :rest-type 'list :maxargs 10)
258  (def-type-prop-test mapl.2 'mapl `((eql ,#'vector)) 2 :rest-type 'list :maxargs 10)  (def-type-prop-test mapl.2 'mapl `((eql ,#'vector)) 2 :rest-type 'list :maxargs 10)
259    
260    (def-type-prop-test mapcan.1 'mapcan '((eql list)) 2 :rest-type 'list :maxargs 10)
261    
262    (def-type-prop-test mapcon.1 'mapcon '((eql copy-list) list) 2)
263    
264  (def-type-prop-test acons 'acons  (def-type-prop-test acons 'acons
265    (list t t #'(lambda (x y) (make-list-type (random 5) 'null '(or null (cons t t)))))    (list t t #'(lambda (x y) (make-list-type (random 5) 'null '(or null (cons t t)))))
266    3)    3)
# Line 358  Line 399 
399    4    4
400    :test #'(lambda (x y) (same-set-p x y :key #'car)))    :test #'(lambda (x y) (same-set-p x y :key #'car)))
401    
402  ;;; Others cons-related functions here  (def-type-prop-test nintersection.1 'nintersection '(list list) 2 :test #'same-set-p :replicate t)
403    (def-type-prop-test nintersection.2 'nintersection '(list list (eql :key) (eql identity))  4 :test #'same-set-p :replicate t)
404    (def-type-prop-test nintersection.3 'nintersection
405      (list #'(lambda () (make-list-type (random 10) 'null 'integer))
406            #'(lambda (x) (make-list-type (random 10) 'null 'integer))
407            '(eql :key)
408            `(member 1+ ,#'1+))
409      4
410      :test #'same-set-p
411      :replicate t)
412    (def-type-prop-test nintersection.4 'nintersection
413      (list #'(lambda () (make-list-type (random 10) 'null '(cons integer null)))
414            #'(lambda (x) (make-list-type (random 10) 'null '(cons integer null)))
415            '(eql :key)
416            `(member car ,#'car))
417      4
418      :test #'(lambda (x y) (same-set-p x y :key #'car))
419      :replicate t)
420    (def-type-prop-test nintersection.5 'nintersection
421      (list #'(lambda () (make-list-type (random 10) 'null '(cons integer null)))
422            #'(lambda (x) (make-list-type (random 10) 'null '(cons integer null)))
423            '(eql :test)
424            `(member equal ,#'equal))
425      4
426      :test #'(lambda (x y) (same-set-p x y :key #'car))
427      :replicate t)
428    
429    
430    (def-type-prop-test adjoin.1 'adjoin '(t list) 2)
431    (def-type-prop-test adjoin.2 'adjoin '((integer 0 1) list) 2)
432    (def-type-prop-test adjoin.3 'adjoin `((integer 0 10) (cons number (cons number (cons number null)))
433                                           (eql :test) (or (eql =) (eql ,#'=)))
434      4)
435    (def-type-prop-test adjoin.4 'adjoin `(number
436                                           (cons number (cons number (cons number (cons number null))))
437                                           (eql :test-not) (or (eql /=) (eql ,#'/=)))
438      4)
439    (def-type-prop-test adjoin.5 'adjoin `(number
440                                           (cons number (cons number (cons number (cons number null))))
441                                           (eql :key) (or (member 1+ 1- ,#'1+ ,#'1-)))
442      4)
443    
444    (def-type-prop-test pushnew.1 '(lambda (x y) (list (pushnew x y) y)) '(t list) 2)
445    (def-type-prop-test pushnew.2 '(lambda (x y) (list (pushnew x y) y)) '((integer 0 1) list) 2)
446    (def-type-prop-test pushnew.3 '(lambda (x y) (list (pushnew x y :test #'=) y))
447      `((integer 0 10) (cons number (cons number (cons number null))))
448      2)
449    (def-type-prop-test pushnew.4 '(lambda (x y) (list (pushnew x y :test-not #'/=) y))
450      `((integer 0 10) (cons number (cons number (cons number null))))
451      2)
452    (def-type-prop-test pushnew.5 '(lambda (x y) (list (pushnew x y :key #'1+) y))
453      `(number (cons number (cons number (cons number (cons number null)))))
454      2)
455    
456    (def-type-prop-test set-difference.1 'set-difference '(list list) 2)
457    (def-type-prop-test set-difference.2 'set-difference '((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))
458                                                           (cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))))
459      2)
460    (def-type-prop-test set-difference.3 'set-difference `((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))
461                                                           (cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))
462                                                           (eql :test) (member = ,#'=))
463      4)
464    (def-type-prop-test set-difference.4 'set-difference `((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))
465                                                           (cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))
466                                                           (eql :test-not) (member /= ,#'/=))
467      4)
468    (def-type-prop-test set-difference.5 'set-difference `((cons (unsigned-byte 3) (cons (unsigned-byte 3) null))
469                                                           (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))
470                                                           (eql :key) (member evenp oddp ,#'evenp ,#'oddp))
471      4)
472    
473    (def-type-prop-test nset-difference.1 'nset-difference '(list list) 2 :replicate t)
474    (def-type-prop-test nset-difference.2 'nset-difference '((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))
475                                                           (cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))))
476      2 :replicate t)
477    (def-type-prop-test nset-difference.3 'nset-difference `((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))
478                                                           (cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))
479                                                           (eql :test) (member = ,#'=))
480      4 :replicate t)
481    (def-type-prop-test nset-difference.4 'nset-difference `((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))
482                                                           (cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))
483                                                           (eql :test-not) (member /= ,#'/=))
484      4 :replicate t)
485    (def-type-prop-test nset-difference.5 'nset-difference `((cons (unsigned-byte 3) (cons (unsigned-byte 3) null))
486                                                           (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))
487                                                           (eql :key) (member evenp oddp ,#'evenp ,#'oddp))
488      4 :replicate t)
489    
490    
491    (def-type-prop-test set-exclusive-or.1 'set-exclusive-or '(list list) 2)
492    (def-type-prop-test set-exclusive-or.2 'set-exclusive-or '((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))
493                                                           (cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))))
494      2)
495    (def-type-prop-test set-exclusive-or.3 'set-exclusive-or `((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))
496                                                           (cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))
497                                                           (eql :test) (member = ,#'=))
498      4)
499    (def-type-prop-test set-exclusive-or.4 'set-exclusive-or `((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))
500                                                           (cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))
501                                                           (eql :test-not) (member /= ,#'/=))
502      4)
503    (def-type-prop-test set-exclusive-or.5 'set-exclusive-or `((cons (unsigned-byte 3) (cons (unsigned-byte 3) null))
504                                                           (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))
505                                                           (eql :key) (member evenp oddp ,#'evenp ,#'oddp))
506      4)
507    
508    (def-type-prop-test nset-exclusive-or.1 'nset-exclusive-or '(list list) 2 :replicate t)
509    (def-type-prop-test nset-exclusive-or.2 'nset-exclusive-or '((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))
510                                                           (cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))))
511      2 :replicate t)
512    (def-type-prop-test nset-exclusive-or.3 'nset-exclusive-or `((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))
513                                                           (cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))
514                                                           (eql :test) (member = ,#'=))
515      4 :replicate t)
516    (def-type-prop-test nset-exclusive-or.4 'nset-exclusive-or `((cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))
517                                                           (cons (unsigned-byte 3) (cons (unsigned-byte 3) (cons (unsigned-byte 3) null)))
518                                                           (eql :test-not) (member /= ,#'/=))
519      4 :replicate t)
520    (def-type-prop-test nset-exclusive-or.5 'nset-exclusive-or `((cons (unsigned-byte 3) (cons (unsigned-byte 3) null))
521                                                           (cons (unsigned-byte 3) (cons (unsigned-byte 3) null))
522                                                           (eql :key) (member evenp oddp ,#'evenp ,#'oddp))
523      4 :replicate t)
524    
525    (def-type-prop-test subsetp.1 'subsetp '(list list) 2)
526    (def-type-prop-test subsetp.2 'subsetp '((cons integer null)
527                                             (cons integer (cons integer (cons integer (cons integer null)))))
528      2)

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

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