racket/collects/tests/unstable/temp-c/ex-matthias-ctc.rkt
2011-08-09 06:42:09 -06:00

26 lines
535 B
Racket

#lang racket/load
(module a racket
(define memory%
(class object%
(super-new)
(define/public (malloc) 1)
(define/public (free n) (void))))
(provide/contract
[memory%
(class/c [malloc (->m number?)]
[free (->m number? void)])]))
(module b racket
(require 'a tests/eli-tester)
(define memory (new memory%))
(define a (send memory malloc))
(test
(send memory free a)
(send memory free "foo") =error> #rx"expected: number\\?"
(send memory free a)))
(require 'b)