That is cute. Why don't you just create a pull request and Ryan can integrate 
it into rackunit? -- Matthias





On Nov 19, 2012, at 4:22 PM, Joe Gibbs Politz wrote:

> A small suggestion:
> 
> 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:
> 
> (define-syntax test/match
>   (syntax-rules ()
>     [(test/match actual expected pred)
>      (let ([actual-val actual])
>        (with-check-info* (list (make-check-actual actual-val)
>                                (make-check-expected 'expected))
>                          (thunk (check-true (match actual-val
>                                                 [expected pred]
>                                                 [_ false])))))]
> 
>     [(test/match actual expected)
>      (test/match actual expected true)]))
> 
> Shriram remarked that he was surprised some sort of check-match wasn't in 
> rackunit already.  Is it worth adding something like this?
> 
> I'm doing things like:
> 
> (test/match (parse "5 'foo'") (s-block _ (list (s-num _ 5) (s-str _ "foo"))))
> 
> Where the structs s-block, s-num, and s-str all expect a srcloc as their 
> first argument, but I don't care about it for these tests.
> 
> The actual use is at:
> 
> https://github.com/brownplt/pyret-lang/blob/master/src/tests/parse-tests.rkt#L36
> 
> That file would be much, much uglier without this macro.
> 
> Cheers,
> Joe P.
> 
> _________________________
>  Racket Developers list:
>  http://lists.racket-lang.org/dev

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_________________________
  Racket Developers list:
  http://lists.racket-lang.org/dev

Reply via email to