I have a spec for an array of 16 bytes: (s/def ::extension (s/and bytes? #(= (count %) 16))
Then I have a couple of other specs that are really just renaming it: (s/def ::client-extension ::extension) (s/def ::server-extension ::extension) I started doing some refactoring today, and the definitions wound up needing to move to a different namespace. So now the original definitions have changed to (s/def ::client-extension ::refactored/client-extension) I also started dabbling with generators, and came up with this: (gen/generate (s/gen ::client-extension {::client-extension #(gen/fmap byte-array (gen/vector (gen/choose -128 127) 16)})) When I define things this way, I get a "Couldn't satisfy such-that predicate after 100 tries." exception a little more than half the time. If I rearrange things so that either a) The refactored namespace defines the spec directly or b) I change my generator override to specify the top-level spec that the others are copying i.e. a) would mean changing the refactored ns such that I have (s/def ::client-extension (s/and bytes? #(= (count %) 16)) b) changing the generator to (gen/generate (s/gen ::client-extension {::refactored/extension #(gen/fmap byte-array (gen/vector (gen/choose -128 127) 16)})) it seems to fail (with the same problem) about 1 time in 5. I haven't seen it fail yet if I undo my refactoring and move the spec back to the original location. I haven't collected any sorts of real numbers on this, much less tried to make enough test runs to collect a statistically significant sample. I know the next real steps are to put together a minimalist example. But before I do that, I figured it might be asking whether anyone sees anything obviously wrong in what I'm trying to do, or whether there's a better way to do it. Thanks in advance, James -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.