Hello plumatic,
I am playing with generators, which are definitely fun to use, one thing I am trying to achieve is to have custom (and meaningful) generators.
So I tried (using paraseba/faker):
(sgen/generate as/User {as/FirstName (tcgen/return (fname/first-name))
as/LastName (tcgen/return (fname/last-name))})
where:
(def FirstName s/Str)
(def LastName s/Str)
(def User {(s/required-key :id) s/Int
:first-name FirstName
:last-name LastName
:password s/Str})
But of course I get a java.lang.IllegalArgumentException: Duplicate key: class java.lang.String.
I also tried:
(sgen/generate as/User {as/FirstName (tcgen/return (fname/first-name))} {as/LastName (tcgen/return (fname/last-name))})
but here I get:
java.lang.ClassCastException: clojure.test.check.generators.Generator cannot be cast to clojure.lang.IFn
How can I handle this case (there must a very easy solution I am not seeing) ?