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:
parent
905e6b9b07
commit
b85f761ff9
3 changed files with 23 additions and 22 deletions
|
|
@ -8,7 +8,7 @@
|
|||
:source-paths ["src"]
|
||||
:test-paths ["test"]
|
||||
:profiles {:dev {:dependencies
|
||||
[[org.clojure/test.check "0.5.9"]]}
|
||||
[[org.clojure/test.check "0.7.0"]]}
|
||||
}
|
||||
:cljsbuild {
|
||||
:builds [{
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
(defspec select-all-keyword-filter
|
||||
(for-all+
|
||||
[kw gen/keyword
|
||||
v (gen/vector (max-size 5
|
||||
v (gen/vector (limit-size 5
|
||||
(gen-map-with-keys gen/keyword gen/int kw)))
|
||||
pred (gen/elements [odd? even?])]
|
||||
(= (select [ALL kw pred] v)
|
||||
|
|
@ -43,7 +43,7 @@
|
|||
|
||||
(defspec select-all-on-map
|
||||
(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)
|
||||
(for [[k v] m] v))
|
||||
))
|
||||
|
|
@ -60,7 +60,7 @@
|
|||
|
||||
(defspec transform-all-on-map
|
||||
(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)
|
||||
(into {} (for [[k v] m] [k (inc v)]))
|
||||
)))
|
||||
|
|
@ -118,7 +118,7 @@
|
|||
(for-all+
|
||||
[kw1 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?])]
|
||||
(= (transform [(collect-one kw2) kw1 pred] + m)
|
||||
(if (pred (kw1 m))
|
||||
|
|
@ -147,9 +147,9 @@
|
|||
;; max sizes prevent too much data from being generated and keeps test from taking forever
|
||||
(defspec transform-keyword
|
||||
(for-all+
|
||||
[k1 (max-size 3 gen/keyword)
|
||||
k2 (max-size 3 gen/keyword)
|
||||
m1 (max-size 5
|
||||
[k1 (limit-size 3 gen/keyword)
|
||||
k2 (limit-size 3 gen/keyword)
|
||||
m1 (limit-size 5
|
||||
(gen-map-with-keys
|
||||
gen/keyword
|
||||
(gen-map-with-keys gen/keyword gen/int k2)
|
||||
|
|
@ -244,7 +244,7 @@
|
|||
(defspec putval-test
|
||||
(for-all+
|
||||
[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]
|
||||
(= (transform [(putval c) kw] + m)
|
||||
(transform [kw (putval c)] + m)
|
||||
|
|
@ -265,7 +265,7 @@
|
|||
(defspec empty-selector-transform-test
|
||||
(for-all+
|
||||
[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
|
||||
(transform nil identity m)
|
||||
(transform [] identity m)
|
||||
|
|
@ -287,9 +287,9 @@
|
|||
|
||||
(defspec mixed-selector-test
|
||||
(for-all+
|
||||
[k1 (max-size 3 gen/keyword)
|
||||
k2 (max-size 3 gen/keyword)
|
||||
m (max-size 5
|
||||
[k1 (limit-size 3 gen/keyword)
|
||||
k2 (limit-size 3 gen/keyword)
|
||||
m (limit-size 5
|
||||
(gen-map-with-keys
|
||||
gen/keyword
|
||||
(gen-map-with-keys gen/keyword gen/int k2)
|
||||
|
|
@ -324,10 +324,10 @@
|
|||
|
||||
(defspec cond-path-selector-test
|
||||
(for-all+
|
||||
[k1 (max-size 3 gen/keyword)
|
||||
k2 (max-size 3 gen/keyword)
|
||||
k3 (max-size 3 gen/keyword)
|
||||
m (max-size 5
|
||||
[k1 (limit-size 3 gen/keyword)
|
||||
k2 (limit-size 3 gen/keyword)
|
||||
k3 (limit-size 3 gen/keyword)
|
||||
m (limit-size 5
|
||||
(gen-map-with-keys
|
||||
gen/keyword
|
||||
gen/int
|
||||
|
|
@ -347,9 +347,9 @@
|
|||
|
||||
(defspec multi-path-test
|
||||
(for-all+
|
||||
[k1 (max-size 3 gen/keyword)
|
||||
k2 (max-size 3 gen/keyword)
|
||||
m (max-size 5
|
||||
[k1 (limit-size 3 gen/keyword)
|
||||
k2 (limit-size 3 gen/keyword)
|
||||
m (limit-size 5
|
||||
(gen-map-with-keys
|
||||
gen/keyword
|
||||
gen/int
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
[clojure.test.check :as qc]
|
||||
[clojure.pprint :as pp]))
|
||||
|
||||
|
||||
;; it seems like gen/bind and gen/return are a monad (hence the names)
|
||||
(defmacro for-all+ [bindings & body]
|
||||
(let [parts (partition 2 bindings)
|
||||
|
|
@ -19,8 +20,8 @@
|
|||
`(prop/for-all [~vars ~genned]
|
||||
~@body )))
|
||||
|
||||
(defn max-size [n {gen :gen}]
|
||||
(gen/make-gen
|
||||
(defn limit-size [n {gen :gen}]
|
||||
(gen/->Generator
|
||||
(fn [rnd _size]
|
||||
(gen rnd (if (< _size n) _size n)))))
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue