'contract' is the lowest level form, and what is used in our internal test suites to test specific contracts. FWIW.
Robby On Wed, Jun 22, 2011 at 12:09 AM, Eduardo Bellani <ebell...@gmail.com> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hey Noel. > > I had noticed that exceptions were being raised by the contracts, but I > was looking for a isolated way to attach contracts to values. I ended up > using with-contracts for it. I don't know if what I am doing is exactly > right, but it appears to be working: > > #lang racket > > (require "bytes-contracts.rkt" rackunit rackunit/text-ui) > > (define-test-suite bytes-contracts-suite > (check-exn exn:fail? > (lambda () > (with-contract > name #:result > (bytes-len</c 2) > (bytes #x11 #xAA #xBB)))) > (check-exn exn:fail? > (lambda () > (with-contract > test #:result > (bytes-len=/c 2) > (bytes #x11)))) > (check-not-exn (lambda () > (with-contract > test #:result > (bytes-len=/c 2) > (bytes #x11 #xFF)))) > (check-not-exn (lambda () > (with-contract > test #:result > (bytes-len</c 2) > (bytes #x11))))) > > (run-tests bytes-contracts-suite) > > > I would suggest adding some examples to the 7.4 section of the > reference, specially the with-contract part. It became a bit clearer > when I grepped the source of racket for it's use. > > Thanks for the answer and the time. > > On 06/21/2011 09:46 AM, Noel Welsh wrote: >> Contracts raise exceptions when they fail, so check that the raise an >> exn (use check-exn) when you expect them to raise an exception, and >> that they don't raise an exn (check-not-exn) when you don't expect >> them to. >> >> HTH, >> N. >> >> On Tue, Jun 21, 2011 at 12:19 AM, Eduardo Bellani <ebell...@gmail.com> wrote: >>> -----BEGIN PGP SIGNED MESSAGE----- >>> Hash: SHA1 >>> >>> Hello list. >>> >>> I have a small set of contracts that I am thinking of turning into a >>> planet package so I can use them across projects. My problem is, how do >>> I use the rackunit framework to test them? > > > - -- > Eduardo Bellani > > omnia mutantur, nihil interit. > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.9 (GNU/Linux) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ > > iEYEARECAAYFAk4AwikACgkQSbLl0kCTjGkAjACeL+YL1rq0s4QXl1UudQ/UqdtJ > EkYAnR+Qv1gFRQi8vY35wEAmzPJo4Yv3 > =w8qB > -----END PGP SIGNATURE----- > _________________________________________________ > For list-related administrative tasks: > http://lists.racket-lang.org/listinfo/users > _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users