Thanks this looks useful. Will try it out. On Jul 31, 2015 9:36 AM, "Carlo Zancanaro" <carlozancan...@gmail.com> wrote:
> Hey everyone! > > I've just released a new version of my library for testing stateful > systems with test.check! > > [org.clojars.czan/stateful-check "0.3.0"] > > https://github.com/czan/stateful-check > https://clojars.org/org.clojars.czan/stateful-check > > Important changes in this version: > > + Updated to test.check 0.7.0 > > + *Breaking: *Postconditions now take two states: the prior and the > next states. This means that any postconditions being used with 0.2.0 need > to be changed: > > (fn [state args result] > arbitrary-logic-for-postcondition) > ;; needs to change to > (fn [prev-state next-state args result] > arbitrary-logic-for-postcondition) > > + *Breaking: *The old `reality-matches-model?` function has been both > renamed (to remove the '?', which implied it was a predicate when it's not) > and deprecated. The `specification-correct?` form below is the preferred > form now. > > + Add a new function, `specification-correct?`, which runs a > stateful-test specification using test.check. If used within a clojure.test > `is` assertion it will also print helpful output: > > (is (specification-correct? queue-spec {:seed 1417059242645})) > ;; > ;; FAIL in clojure.lang.PersistentList$EmptyList@1 > (form-init1067629020891437332.clj:1) > ;; #<0> = (:new) => #<Atom@53df198e: #<PersistentQueue > clojure.lang.PersistentQueue@1>> > ;; #<2> = (:push #<0> 0) => nil > ;; #<3> = (:pop #<0>) => #<PersistentQueue > clojure.lang.PersistentQueue@1> > ;; Error while checking postcondition > ;; Seed: 1417059242645 > ;; > ;; expected: :pass > ;; actual: :fail > > I hope somebody finds this useful! > > Carlo > > -- > 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. > -- 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.