[racket-dev] check-match?
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4373 bytes
Desc: not available
URL: <http://lists.racket-lang.org/dev/archive/attachments/20121119/7f913a06/attachment-0001.p7s>