Hi John, Here's what I would do:
``` (def gen-data-invalid (gen/hash-map :vec (gen/vector gen/string 0 1))) (def gen-data-valid (gen/hash-map :vec (gen/vector gen/string 2 1000000))) (deftest valid-vector-test (checking "data with at least 2 elements in :vec" 100 [d gen-data-valid] (is (valid-vector? d)))) (deftest invalid-vector-test (checking "data with less 2 elements in :vec" 100 [d gen-data-invalid] (is (not (valid-vector? d))))) ``` HTH, mynomoto On Friday, March 27, 2015 at 4:13:53 AM UTC-3, John Louis Del Rosario wrote: > > I have a function I want to try out test.check on. But I'm having trouble > grokking how to write the tests. > Basically the function checks if a vector value in a hash-map has at least > 2 elements. > > (defn valid-vector? > [d] > (>= 2 (count (:vec d)))) > > > and in my tests (I'm using test.chuck > <https://github.com/gfredericks/test.chuck>) > > (def gen-data > (gen/hash-map :v (gen/vector gen/string))) > > (deftest valid-vector-test > (checking "data with at least 2 elements in :vec" 100 [d gen-data] > ;; what to do here? > )) > > I'm confused on how I should write the body of the test. My first thought > is to do something like: > > (checking "data with at least 2 elements in :vec" 100 [d gen-data] > (if (>= 2 (count (:vec d))) > (is (true? (valid-vector d))) > (is (false? (valid-vector d))))) > > But that means I just re-wrote my function definition in the `if` > condition. Is there a better way to test my function? Or does test.check > just not a good fit for it? > > Thanks. > -- 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.