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"]
|
: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 [{
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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)))))
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue