[Haskell-cafe] [Haskell] [ANN] GenCheck - a generalized property-based testing framework

Henning Thielemann lemming at henning-thielemann.de
Wed Jun 20 12:56:55 CEST 2012

On Tue, 19 Jun 2012, Jacques Carette wrote:

> Its main novel features are:
> * introduces a number of /testing strategies/ and /strategy combinators/
> * introduces a variety of test execution methods
> * guarantees uniform sampling (at each rank) for the random strategy
> * guarantees both uniqueness and coverage of all structures for the
>   exhaustive strategy
> * introduces an /extreme/ strategy for testing unbalanced structures
> * also introduces a /uniform/ strategy which does uniform sampling
>   along an enumeration
> * allows different strategies to be mixed; for example one can
>   exhaustively test all binary trees up to a certain size, filled with
>   random integers.
> * complete separation between properties, generators, testing
>   strategies and test execution methods

This sounds very interesting to me since I had a lot of trouble with 
changed test case distributions when switching from QuickCheck-1 to 
QuickCheck-2. It was mainly that tested numbers became much bigger in 
QuickCheck-2 and if I used the numbers as size of lists, then tests could 
not be run in reasonable time anymore. Thus I think more control over 
test-case generation is necessary.

QuickCheck is Haskell-98 and thus is very portable. I see that GenCheck 
needs some more extensions - type families, multi-parameter type classes, 
what else?

More information about the Haskell-Cafe mailing list