<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br></div><div>We don't test contracts. In general contracts are relatively simple functions, but yes, we have written several papers on bugs in contracts and how this complicates a contract monitoring system.&nbsp;</div><div><br></div><div>If you are asking how to test functions that have contracts, I import that module itself into a submodule so that the export contracts are exercised during a test:&nbsp;</div><div><br></div><div><div>#lang racket</div><div><br></div><div>(provide</div><div>&nbsp;(contract-out&nbsp;</div><div>&nbsp; (f (-&gt; integer? integer?))))</div><div><br></div><div>(define (f x)&nbsp;</div><div>&nbsp; pi)</div><div><br></div><div>(module+ test&nbsp;</div><div>&nbsp; (require (submod "..") rackunit)</div><div>&nbsp; (check-equal? (f 1) 3))</div></div><div><br></div><div><br></div><div><br></div><br><div><div>On Aug 29, 2013, at 11:35 PM, Alvin Schatte wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">
<div dir="ltr">
<div dir="ltr">
<div style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri'; COLOR: #000000">
<div>I learned a lot from this thread.&nbsp; Thank you for the guidance.&nbsp; 
Along similar lines, what would be a good practice for testing contracts?</div>
<div style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri'; COLOR: #000000">Alvin 
Schatte<br></div></div></div></div>
</blockquote></div><br></body></html>