Oook, this is starting to sink in. I've gotten a little farther, in that I can run quick-check with my custom generator. However, after a bunch of values had been generated, it fails on a NullPointerException. How can I know where the breakdown is happening?
=> (tc/quick-check 100 u/has-agroup) {:email , :last-name , :first-name , :username } {:email , :last-name , :first-name , :username 0} {:email , :last-name , :first-name Rq, :username 0} {:email 5D2, :last-name R4F, :first-name x, :username G0H} ... {:email 8KQgSr497EPw14X80oEbWC0, :last-name cdkLb8D5ol, :first-name 8DCOXz1U4S3JM641u5I7yPwQ, :username DADOk} {:email x, :last-name Qq3h07d6Cbs4, :first-name 6H6Enrwu, :username yf40SClLjJHp1ptbnx4I9xFbwI3} *NullPointerException clojure.test.check.generators/gen-bind/fn--18990 (generators.clj:77)* bkell.bkell> (pst *e) NullPointerException clojure.test.check.generators/gen-bind/fn--18990 (generators.clj:77) clojure.test.check.generators/gen-bind/fn--18990 (generators.clj:79) clojure.test.check.generators/gen-bind/fn--18990 (generators.clj:77) clojure.test.check.generators/gen-fmap/fn--18985 (generators.clj:70) clojure.test.check.generators/call-gen (generators.clj:56) clojure.test.check/quick-check (check.clj:57) bkell.bkell/eval19267 (form-init7280611083923741467.clj:1) clojure.lang.Compiler.eval (Compiler.java:6703) clojure.lang.Compiler.eval (Compiler.java:6666) clojure.core/eval (core.clj:2927) clojure.main/repl/read-eval-print--6625/fn--6628 (main.clj:239) clojure.main/repl/read-eval-print--6625 (main.clj:239) This is my domain function: (defn *create-user* ([] (create {})) ([opts] (println opts) (let [sans-nils (apply merge (for [[k v] opts :when (not (nil? v))] {k v}))] (merge {:id (mu/generate-uuid) :username "" :password (crypto/base64 12) :first-name "" :last-name "" :email "" :country {}} sans-nils)))) And these are my test functions. (def gend-user (gen/fmap *du/create-user* (gen/hash-map :username gen/string-alpha-numeric :first-name gen/string-alpha-numeric :last-name gen/string-alpha-numeric :email gen/string-alpha-numeric))) (def has-agroup (prop/for-all [v (gen/sample gend-user)] (-> v nil? not))) Tim Washington Interruptsoftware.com <http://interruptsoftware.com> On Sun, Aug 10, 2014 at 3:02 PM, Sam Ritchie <sritchi...@gmail.com> wrote: > You can to use gen/fmap to build up generators. Here's an example: > > -- 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.