Skip to content

Commit 25307be

Browse files
committed
Merge remote-tracking branch 'origin/master'
2 parents af1fbee + 5fdb859 commit 25307be

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

README.md

+28
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ Add the following to your `:dependencies`:
2222
- [`with-gen-group` / `use-gen-group`](#with-gen-group--use-gen-group)
2323
- [`merge-groups` / `extend-group`](#merge-groups--extend-group)
2424
- [`def-gen-group`](#def-gen-group)
25+
- [`->overrides-map`](#-overrides-map)
2526

2627
### `defgenerator` / `gen`
2728

@@ -181,6 +182,33 @@ Although adhoc generator groups have no need to have their own name, occasionall
181182

182183
A named adhoc generator group can be used in exactly the same way as ordinary generator groups.
183184

185+
### `->overrides-map`
186+
187+
Sometimes there are situations where you would like to cooperate with clojure.spec APIs such as `clojure.spec.test.alpha/check` and `clojure.spec.test.alpha/instrument`, enabling a generator group. In those cases, `->overrides-map` would do to make their `:gen` optional argument:
188+
189+
```clj
190+
(require '[clojure.spec.test.alpha :as st])
191+
192+
(s/def ::amount nat-int?)
193+
194+
(defn double-amount [amount]
195+
(* 2 amount))
196+
197+
(s/fdef double-amount
198+
:args (s/cat :amount ::amount)
199+
:ret ::amount)
200+
201+
(genman/with-gen-group :dev
202+
(defgenerator ::amount
203+
(s/gen (s/int-in 0 10000))))
204+
205+
(st/check `double-amount)
206+
;; throws an ArithmeticException (integer overflow)
207+
208+
(st/check `double-amount {:gen (genman/->overrides-map :dev)})
209+
;; pass the check
210+
```
211+
184212
## License
185213

186214
Copyright © 2018 Shogo Ohta

0 commit comments

Comments
 (0)