Start of a testing framework for unit contracts.
svn: r13173
This commit is contained in:
parent
c04baf6d83
commit
4fd8753c66
31
collects/tests/units/test-unit-contracts.ss
Normal file
31
collects/tests/units/test-unit-contracts.ss
Normal file
|
@ -0,0 +1,31 @@
|
|||
(require "test-harness.ss"
|
||||
scheme/unit)
|
||||
|
||||
(define-signature sig1
|
||||
((contracted [x number?])))
|
||||
(define-signature sig2
|
||||
((contracted [f (-> number? number?))))
|
||||
(define-signature sig3 extends sig2
|
||||
((contracted [g (-> number? boolean?))))
|
||||
(define-signature sig4
|
||||
((contracted [a number?] [b (-> boolean? number?)])))
|
||||
(define-signature sig5
|
||||
((contracted [c string?])
|
||||
(contracted [d symbol?])))
|
||||
|
||||
(define-unit unit1
|
||||
(import sig1)
|
||||
(export sig2)
|
||||
(define (f n) x))
|
||||
|
||||
(define-unit unit2
|
||||
(import sig3 sig4)
|
||||
(export)
|
||||
|
||||
(b (g a)))
|
||||
|
||||
(define-unit unit3
|
||||
(import)
|
||||
(export sig5)
|
||||
|
||||
(define-values (c d) (values "foo" 'a)))
|
Loading…
Reference in New Issue
Block a user