Yeah, that is very nice! (It should begin with &quot;check&quot; not &quot;test&quot; tho, right?)<div><br></div><div>Robby<br><br>On Monday, November 19, 2012, Matthias Felleisen  wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
That is cute. Why don&#39;t you just create a pull request and Ryan can integrate it into rackunit? -- Matthias<br>
<br>
<br>
<br>
<br>
<br>
On Nov 19, 2012, at 4:22 PM, Joe Gibbs Politz wrote:<br>
<br>
&gt; A small suggestion:<br>
&gt;<br>
&gt; I used roughly this macro (credit Jonah Kagan) recently to help me write some tests for parsing code that agnostic to which source position is generated in the parse:<br>
&gt;<br>
&gt; (define-syntax test/match<br>
&gt;   (syntax-rules ()<br>
&gt;     [(test/match actual expected pred)<br>
&gt;      (let ([actual-val actual])<br>
&gt;        (with-check-info* (list (make-check-actual actual-val)<br>
&gt;                                (make-check-expected &#39;expected))<br>
&gt;                          (thunk (check-true (match actual-val<br>
&gt;                                                 [expected pred]<br>
&gt;                                                 [_ false])))))]<br>
&gt;<br>
&gt;     [(test/match actual expected)<br>
&gt;      (test/match actual expected true)]))<br>
&gt;<br>
&gt; Shriram remarked that he was surprised some sort of check-match wasn&#39;t in rackunit already.  Is it worth adding something like this?<br>
&gt;<br>
&gt; I&#39;m doing things like:<br>
&gt;<br>
&gt; (test/match (parse &quot;5 &#39;foo&#39;&quot;) (s-block _ (list (s-num _ 5) (s-str _ &quot;foo&quot;))))<br>
&gt;<br>
&gt; Where the structs s-block, s-num, and s-str all expect a srcloc as their first argument, but I don&#39;t care about it for these tests.<br>
&gt;<br>
&gt; The actual use is at:<br>
&gt;<br>
&gt; <a href="https://github.com/brownplt/pyret-lang/blob/master/src/tests/parse-tests.rkt#L36" target="_blank">https://github.com/brownplt/pyret-lang/blob/master/src/tests/parse-tests.rkt#L36</a><br>
&gt;<br>
&gt; That file would be much, much uglier without this macro.<br>
&gt;<br>
&gt; Cheers,<br>
&gt; Joe P.<br>
&gt;<br>
&gt; _________________________<br>
&gt;  Racket Developers list:<br>
&gt;  <a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
<br>
</blockquote></div>