upgrade to latest version of test.check, for unkonwn reason couldn't use generator name max-size and had to rename to limit-size

This commit is contained in:
Nathan Marz 2015-06-30 17:08:05 -04:00
parent 905e6b9b07
commit b85f761ff9
3 changed files with 23 additions and 22 deletions

View file

@ -8,7 +8,7 @@
:source-paths ["src"] :source-paths ["src"]
:test-paths ["test"] :test-paths ["test"]
:profiles {:dev {:dependencies :profiles {:dev {:dependencies
[[org.clojure/test.check "0.5.9"]]} [[org.clojure/test.check "0.7.0"]]}
} }
:cljsbuild { :cljsbuild {
:builds [{ :builds [{

View file

@ -25,7 +25,7 @@
(defspec select-all-keyword-filter (defspec select-all-keyword-filter
(for-all+ (for-all+
[kw gen/keyword [kw gen/keyword
v (gen/vector (max-size 5 v (gen/vector (limit-size 5
(gen-map-with-keys gen/keyword gen/int kw))) (gen-map-with-keys gen/keyword gen/int kw)))
pred (gen/elements [odd? even?])] pred (gen/elements [odd? even?])]
(= (select [ALL kw pred] v) (= (select [ALL kw pred] v)
@ -43,7 +43,7 @@
(defspec select-all-on-map (defspec select-all-on-map
(for-all+ (for-all+
[m (max-size 5 (gen/map gen/keyword gen/int))] [m (limit-size 5 (gen/map gen/keyword gen/int))]
(= (select [ALL LAST] m) (= (select [ALL LAST] m)
(for [[k v] m] v)) (for [[k v] m] v))
)) ))
@ -60,7 +60,7 @@
(defspec transform-all-on-map (defspec transform-all-on-map
(for-all+ (for-all+
[m (max-size 5 (gen/map gen/keyword gen/int))] [m (limit-size 5 (gen/map gen/keyword gen/int))]
(= (transform [ALL LAST] inc m) (= (transform [ALL LAST] inc m)
(into {} (for [[k v] m] [k (inc v)])) (into {} (for [[k v] m] [k (inc v)]))
))) )))
@ -118,7 +118,7 @@
(for-all+ (for-all+
[kw1 gen/keyword [kw1 gen/keyword
kw2 gen/keyword kw2 gen/keyword
m (max-size 10 (gen-map-with-keys gen/keyword gen/int kw1 kw2)) m (limit-size 10 (gen-map-with-keys gen/keyword gen/int kw1 kw2))
pred (gen/elements [odd? even?])] pred (gen/elements [odd? even?])]
(= (transform [(collect-one kw2) kw1 pred] + m) (= (transform [(collect-one kw2) kw1 pred] + m)
(if (pred (kw1 m)) (if (pred (kw1 m))
@ -147,9 +147,9 @@
;; max sizes prevent too much data from being generated and keeps test from taking forever ;; max sizes prevent too much data from being generated and keeps test from taking forever
(defspec transform-keyword (defspec transform-keyword
(for-all+ (for-all+
[k1 (max-size 3 gen/keyword) [k1 (limit-size 3 gen/keyword)
k2 (max-size 3 gen/keyword) k2 (limit-size 3 gen/keyword)
m1 (max-size 5 m1 (limit-size 5
(gen-map-with-keys (gen-map-with-keys
gen/keyword gen/keyword
(gen-map-with-keys gen/keyword gen/int k2) (gen-map-with-keys gen/keyword gen/int k2)
@ -244,7 +244,7 @@
(defspec putval-test (defspec putval-test
(for-all+ (for-all+
[kw gen/keyword [kw gen/keyword
m (max-size 10 (gen-map-with-keys gen/keyword gen/int kw)) m (limit-size 10 (gen-map-with-keys gen/keyword gen/int kw))
c gen/int] c gen/int]
(= (transform [(putval c) kw] + m) (= (transform [(putval c) kw] + m)
(transform [kw (putval c)] + m) (transform [kw (putval c)] + m)
@ -265,7 +265,7 @@
(defspec empty-selector-transform-test (defspec empty-selector-transform-test
(for-all+ (for-all+
[kw gen/keyword [kw gen/keyword
m (max-size 10 (gen-map-with-keys gen/keyword gen/int kw))] m (limit-size 10 (gen-map-with-keys gen/keyword gen/int kw))]
(and (= m (and (= m
(transform nil identity m) (transform nil identity m)
(transform [] identity m) (transform [] identity m)
@ -287,9 +287,9 @@
(defspec mixed-selector-test (defspec mixed-selector-test
(for-all+ (for-all+
[k1 (max-size 3 gen/keyword) [k1 (limit-size 3 gen/keyword)
k2 (max-size 3 gen/keyword) k2 (limit-size 3 gen/keyword)
m (max-size 5 m (limit-size 5
(gen-map-with-keys (gen-map-with-keys
gen/keyword gen/keyword
(gen-map-with-keys gen/keyword gen/int k2) (gen-map-with-keys gen/keyword gen/int k2)
@ -324,10 +324,10 @@
(defspec cond-path-selector-test (defspec cond-path-selector-test
(for-all+ (for-all+
[k1 (max-size 3 gen/keyword) [k1 (limit-size 3 gen/keyword)
k2 (max-size 3 gen/keyword) k2 (limit-size 3 gen/keyword)
k3 (max-size 3 gen/keyword) k3 (limit-size 3 gen/keyword)
m (max-size 5 m (limit-size 5
(gen-map-with-keys (gen-map-with-keys
gen/keyword gen/keyword
gen/int gen/int
@ -347,9 +347,9 @@
(defspec multi-path-test (defspec multi-path-test
(for-all+ (for-all+
[k1 (max-size 3 gen/keyword) [k1 (limit-size 3 gen/keyword)
k2 (max-size 3 gen/keyword) k2 (limit-size 3 gen/keyword)
m (max-size 5 m (limit-size 5
(gen-map-with-keys (gen-map-with-keys
gen/keyword gen/keyword
gen/int gen/int

View file

@ -7,6 +7,7 @@
[clojure.test.check :as qc] [clojure.test.check :as qc]
[clojure.pprint :as pp])) [clojure.pprint :as pp]))
;; it seems like gen/bind and gen/return are a monad (hence the names) ;; it seems like gen/bind and gen/return are a monad (hence the names)
(defmacro for-all+ [bindings & body] (defmacro for-all+ [bindings & body]
(let [parts (partition 2 bindings) (let [parts (partition 2 bindings)
@ -19,8 +20,8 @@
`(prop/for-all [~vars ~genned] `(prop/for-all [~vars ~genned]
~@body ))) ~@body )))
(defn max-size [n {gen :gen}] (defn limit-size [n {gen :gen}]
(gen/make-gen (gen/->Generator
(fn [rnd _size] (fn [rnd _size]
(gen rnd (if (< _size n) _size n))))) (gen rnd (if (< _size n) _size n)))))