test.generative and data.generators
So, I find that what they provide are absolutely fantastic. But I don't see much action around them, are they considered maintained? Things on my wishlish: Shrinking of failing inputs. More readable reports. A couple of blogs or videos discussing them, I think that most people don't know what they are used for. -- -- 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/groups/opt_out.
Re: test.generative and data.generators
Shrinking is a key requirement for me as well (1000-line-long data literals that produce a failure are better than nothing, but not quite as nice as its shrunken 40-character literal that provokes the same failure). You might be interested in simple-check, which is a "Clojure property-based testing tool inspired by QuickCheck", and so its support for shrinking is essential: https://github.com/reiddraper/simple-check/ I've been using it for some weeks now with good results. Cheers, - Chas On Jul 15, 2013, at 7:35 AM, Andreas Liljeqvist wrote: > So, I find that what they provide are absolutely fantastic. > But I don't see much action around them, are they considered maintained? > > Things on my wishlish: > Shrinking of failing inputs. > More readable reports. > A couple of blogs or videos discussing them, I think that most people don't > know what they are used for. > > -- > -- > 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/groups/opt_out. > > -- -- 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/groups/opt_out.
Re: test.generative and data.generators
Hi, I have taken a look at simple-check. Seems promising, but I have a few reservations: I want to constrain the generation of two vectors to always have the same number of elements as the other one. >From what I can understand simple-check always uses the same max-size in a property and have no current means to control the min length. Its kind of hard to inspect what values I am actually generating since the generator functions return non-runnable functions. (without any scaffolding). Really I think that data.generators would fit nicely into simple-check. (I am not well-versed in the domain though...) I like the general feel of simple-check and shrinking rocks. On Mon, Jul 15, 2013 at 2:24 PM, Chas Emerick wrote: > Shrinking is a key requirement for me as well (1000-line-long data > literals that produce a failure are better than nothing, but not quite as > nice as its shrunken 40-character literal that provokes the same failure). > You might be interested in simple-check, which is a "Clojure > property-based testing tool inspired by QuickCheck", and so its support for > shrinking is essential: > > https://github.com/reiddraper/simple-check/ > > I've been using it for some weeks now with good results. > > Cheers, > > - Chas > > On Jul 15, 2013, at 7:35 AM, Andreas Liljeqvist wrote: > > So, I find that what they provide are absolutely fantastic. > But I don't see much action around them, are they considered maintained? > > Things on my wishlish: > Shrinking of failing inputs. > More readable reports. > A couple of blogs or videos discussing them, I think that most people > don't know what they are used for. > > -- > -- > 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/groups/opt_out. > > > > > -- > -- > 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/groups/opt_out. > > > -- -- 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/groups/opt_out.
Re: test.generative and data.generators
On Monday, July 15, 2013 9:41:03 AM UTC-5, Andreas Liljeqvist wrote: > > Hi, I have taken a look at simple-check. > > Seems promising, but I have a few reservations: > > I want to constrain the generation of two vectors to always have the same > number of elements as the other one. > From what I can understand simple-check always uses the same max-size in a > property and have no current means to control the min length. > This is doable today, but ensuring they stay the same length as each other during shrinking is not yet possible. simple-check will need to support overriding the shrink function for this to work. That's on my TODO list. I'll try and add some documentation for writing generators like this soon, but in the meantime, take a look at how the vector generator is implemented [1]. Your custom generator would just use `num-elements` twice, for each of the two vectors that need to be the same length. [1] https://github.com/reiddraper/simple-check/blob/bbd90a76d78f5cdf25b22d9eec9fc7eedf2c8d09/src/simple_check/generators.clj#L261-L262 > > Its kind of hard to inspect what values I am actually generating since the > generator functions return non-runnable functions. > (without any scaffolding). > This is what simple-check.generators/sample is for. Check out it's implementation to see how the generators are called. > > Really I think that data.generators would fit nicely into simple-check. > (I am not well-versed in the domain though...) > Yeah, I've been thinking about writing a little function that would lift data.generators generators into simple-check generators, but haven't gotten around to it yet. Should be pretty trivial though. > > I like the general feel of simple-check and shrinking rocks. > Awesome, thanks for checking it out. > > > > > On Mon, Jul 15, 2013 at 2:24 PM, Chas Emerick > > wrote: > >> Shrinking is a key requirement for me as well (1000-line-long data >> literals that produce a failure are better than nothing, but not quite as >> nice as its shrunken 40-character literal that provokes the same failure). >> You might be interested in simple-check, which is a "Clojure >> property-based testing tool inspired by QuickCheck", and so its support for >> shrinking is essential: >> >> https://github.com/reiddraper/simple-check/ >> >> I've been using it for some weeks now with good results. >> >> Cheers, >> >> - Chas >> >> On Jul 15, 2013, at 7:35 AM, Andreas Liljeqvist wrote: >> >> So, I find that what they provide are absolutely fantastic. >> But I don't see much action around them, are they considered maintained? >> >> Things on my wishlish: >> Shrinking of failing inputs. >> More readable reports. >> A couple of blogs or videos discussing them, I think that most people >> don't know what they are used for. >> >> -- >> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com . >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> >> >> -- >> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com . >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > -- -- 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 http