The smallcheck package
SmallCheck is similar to QuickCheck (Claessen and Hughes 2000-) but instead of testing for a sample of randomly generated values, SmallCheck tests properties for all the finitely many values up to some depth, progressively increasing the depth used.
Folk-law: if there is any case in which a program fails, there is almost always a simple one.
Corollary: if a program does not fail in any simple case, it almost never fails.
Other possible sales pitches:
write test generators for your own types more easily
be sure any counter-examples found are minimal
write properties using existentials as well as universals
establish complete coverage of a defined test-space
display counter-examples of functional type
[Skip to Readme]
|Versions||0.2.1, 0.4, 0.5, 0.6, 0.6.1, 0.6.2, 1.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.1, 184.108.40.206, 1.1.1|
|Maintainer||Colin Runciman <Colin.Runciman@cs.york.ac.uk>|
|Uploaded||Tue Mar 11 21:45:35 UTC 2008 by GwernBranwen|
|Distributions||Arch:1.1.1, Debian:1.1.1, Fedora:1.1.1, FreeBSD:1.1.1, LTSHaskell:1.1.1, NixOS:1.1.1, Stackage:1.1.1, Tumbleweed:1.1.1|
|Downloads||12362 total (39 in the last 30 days)|
|Status||Docs uploaded by user
Build status unknown [no reports yet]
For package maintainers and hackage trustees