Thanks, Brian! I obviously didn't understand the nature of the provided form. That's really cool notation! This is exactly what I want.
What are the cons of using midje? Any reason I shouldn't migrate all my unit testing to it? Thanks! Alyssa On Dec 22, 9:46 am, Brian Marick <mar...@exampler.com> wrote: > On Dec 22, 2010, at 6:52 AM, Alyssa Kwan wrote: > > > The issue is where do I specify that: > > (undo-fn ...patch...) => (fn [] (reset! visible-evidence-of-a-side- > > effect :happened!)) > > The code you quoted is that specification. It doesn't matter that undo-fn is > a multimethod. > > Here's what the notation of the test says: > > When called with an arbitrary patch, undo-patch will produce a particular > side effect. It does that because it uses undo-patch, which--when given that > arbitrary patch--returns a function that produces that side effect. > It also calls remove-patch with the given patch. > undo-patch can return anything it wants. We don't care. > > > > > (fact "The patch's undo-fn is called for its side effect and the patch is > > forgotten" > > (let [visible-evidence-of-a-side-effect (atom nil)] > > (undo-patch ...patch...) => anything > > (provided > > (undo-fn ...patch...) => (fn [] (reset! > > visible-evidence-of-a-side-effect :happened!)) > > (remove-patch ...patch...) => :nothing-of-interest) > > �...@visible-evidence-of-a-side-effect => :happened!)) > > ----- > Brian Marick, Artisanal Labrador > Contract programming in Ruby and Clojure > Author of /Ring/ (forthcoming; > sample:http://bit.ly/hfdf9T)www.exampler.com,www.exampler.com/blog,www.twitter.com/marick -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en