test.generative and data.generators

2013-07-15 Thread Andreas Liljeqvist
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

2013-07-15 Thread Chas Emerick
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

2013-07-15 Thread Andreas Liljeqvist
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

2013-07-15 Thread Reid Draper


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