test package:testing-feat
Test with default options (
defOptions). Returns a list of
counterexamples
Functional Enumeration of Algebraic Types
Feat (Functional Enumeration of Algebraic Types) provides enumerations
as functions from natural numbers to values (similar to
toEnum but for any algebraic data type). This can be used for
SmallCheck-style systematic testing, QuickCheck style random testing,
and hybrids of the two.
The enumerators are defined in a very boilerplate manner and there is
a Template Haskell script for deriving the class instance for most
types.
Test.Feat contain a subset of the other modules that
should be sufficient for most test usage. There are some small and
large example in the tar ball.
The generators are provided by the size-based package. This means
other libraries that implement the Sized class can use the same
generator definitions. One such is the
lazy-search package,
that uses laziness to search for values and test properties. This is
typically a lot faster than Feat for properties that have
preconditions (logical implication), but can not be used for random
selection of values.
Test with basic options. Returns a list of counterexamples.
The most flexible test driver, can be configured to behave in almost
any way.