add subset test
This commit is contained in:
parent
0859070b02
commit
d76142e448
1 changed files with 20 additions and 1 deletions
|
|
@ -17,7 +17,8 @@
|
||||||
#+cljs [cljs.test.check :as tc]
|
#+cljs [cljs.test.check :as tc]
|
||||||
#+cljs [cljs.test.check.generators :as gen]
|
#+cljs [cljs.test.check.generators :as gen]
|
||||||
#+cljs [cljs.test.check.properties :as prop :include-macros true]
|
#+cljs [cljs.test.check.properties :as prop :include-macros true]
|
||||||
[com.rpl.specter :as s]))
|
[com.rpl.specter :as s]
|
||||||
|
[clojure.set :as set]))
|
||||||
|
|
||||||
;;TODO:
|
;;TODO:
|
||||||
;; test walk, codewalk
|
;; test walk, codewalk
|
||||||
|
|
@ -538,6 +539,24 @@
|
||||||
(s/transform [s/ALL #(comparator % val)] op v)))
|
(s/transform [s/ALL #(comparator % val)] op v)))
|
||||||
))
|
))
|
||||||
|
|
||||||
|
(defspec subset-test
|
||||||
|
(for-all+
|
||||||
|
[s1 (gen/vector (limit-size 5 gen/keyword))
|
||||||
|
s2 (gen/vector (limit-size 5 gen/keyword))
|
||||||
|
s3 (gen/vector (limit-size 5 gen/int))
|
||||||
|
s4 (gen/vector (limit-size 5 gen/keyword))]
|
||||||
|
(let [s1 (set s1)
|
||||||
|
s2 (set s1)
|
||||||
|
s3 (set s1)
|
||||||
|
s4 (set s1)
|
||||||
|
combined (set/union s1 s2)
|
||||||
|
ss (set/union s2 s3)]
|
||||||
|
(and
|
||||||
|
(= (s/transform (s/subset s3) identity combined) combined)
|
||||||
|
(= (s/setval (s/subset s3) #{} combined) (set/difference combined s2))
|
||||||
|
(= (s/setval (s/subset s3) s4 combined) (-> combined (set/difference s2) (set/union s4)))
|
||||||
|
))))
|
||||||
|
|
||||||
#+clj
|
#+clj
|
||||||
(deftest large-params-test
|
(deftest large-params-test
|
||||||
(let [path (apply s/comp-paths (repeat 25 s/keypath))
|
(let [path (apply s/comp-paths (repeat 25 s/keypath))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue