racket/collects/tests/units/test-cert.rktl
2010-05-01 09:58:16 -06:00

40 lines
800 B
Racket

(module test mzscheme
(require mzlib/unit)
(provide s)
(define x add1)
(define-signature s
(a
(define-values (y) (x a))
(define-syntaxes (z)
(syntax-rules () ((_) (x a)))))))
(module test2 mzscheme
(require mzlib/unit
'test)
(define-unit u1 (import) (export s)
(define a 1))
(define-unit u2 (import s) (export)
(+ y (z)))
(define-compound-unit u3 (import) (export)
(link (((S : s)) u1)
(() u2 S)))
(printf "~a~n" (invoke-unit u3))
)
;; 4
(require 'test2)
(module test3 mzscheme
(require mzlib/unit
'test)
(define-unit u1 (import) (export s)
(define a 1))
(define-values/invoke-unit u1 (import) (export (rename s)))
(printf "~a~n" (+ y (z)))
)
;;4
(require 'test3)