How about this: (defmacro matches [value pattern] `(is (match ~value ~pattern true :else false) (str "(match " ~value " " '~pattern ")")))
(let [a {:x 2}] (matches a {:y _})) ; => FAIL ; => (match {:x 2} {:y _}) ; => expected: (clojure.core.match/match a {:y _} true :else false) ; => actual: false > On Jun 21, 2015, at 10:24 AM, whodidthis <ton...@gmail.com> wrote: > > It would be fun to use core.match to have an easier time testing results that > are hash-maps of different patterns. I'm just having a difficult time to get > failing cases' input values show up in test results: > > (use 'clojure.test) > (require '[clojure.core.match :refer [match]]) > > (defmacro matches [value pattern] > <> `(match ~value > <> ~pattern true > <> :else false)) > <> > <>(let [a {:x 2}] > <> (is (= a {:y 3}))) > <>; => FAIL > <>; => expected: (= a {:y 3}) > <>; => actual: (not (= {:x 2} {:y 3})) > <> > <>(let [a {:x 2}] > <> (is (matches a {:y _}))) > <>; => FAIL > <>; => expected: (matches a {:y _}) > <>; => actual: false > > What I would like is have more around > ; => actual: (not (matches {:x 2} {:y _})) > if possible -- 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.