Thanks, I've been meaning to do something about this for months! Do they make use of `default-equiv`?
-- William J. Bowman On Wed, Nov 04, 2015 at 05:50:01AM -0800, Andrew Kent wrote: > Dear other PLT Redex users, > > Do you have any clever tricks/tools to make testing in PLT Redex > more palletable? I was finding some of my tests had a lot more > boiler-plate text than actual test-relevant code. I would love to > hear your thoughts/experiences on this issue... and share > something I threw together that I've found helpful: > > I basically hijacked and rewrote Jay's lovely rackunit/chk > pkg (thanks Jay!) to cater to redex tests. It's now the > 'redex-chk' pkg (on http://pkgs.racket-lang.org/). > > It allows verbose tests like these: > > (module+ test > ;; restrict tests > (test-equal (term (restrict mt-Γ Any Int)) (term Int)) > (test-equal (term (restrict mt-Γ Int Any)) (term Int)) > (test-equal (term (restrict mt-Γ Int Bool)) (term (U))) > (test-equal (term (restrict mt-Γ (U Bool Int) Int)) (term Int)) > > ;; subtyping tests > (test-equal (judgment-holds (subtype mt-Γ Int Int)) #t) > (test-equal (judgment-holds (subtype mt-Γ Int Any)) #t) > (test-equal (judgment-holds (subtype mt-Γ Any Int)) #f)) > > to be written like this: > > (module+ test > ;; restrict tests > (redex-chk > (restrict mt-Γ Any Int) Int > (restrict mt-Γ Int Any) Int > #:= (restrict mt-Γ Int Bool) (U) > [(restrict mt-Γ (U Bool Int) Int) Int]) > > ;; subtyping tests > (redex-relation-chk > subtype > [mt-Γ Int Int] > [mt-Γ Int Any] > [#:f mt-Γ Any Int])) > > (Note -- each of the restrict tests is checking for 'equal?', > there's just several equivalent ways to write that, > like in Jay's rackunit/chk lib) > > Anyway - throwing this together was a fun macro-learning experience for > me and I think has helped me write more and better tests for my > redex model (now that it's easier). I figured it might be useful for > others, and wondered if anyone else had done anything in the same > department. > > Best, > Andrew > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
signature.asc
Description: PGP signature

