The type used to generate arbitrary values of the given type parameter (
An argument used in a property that may have undergone shrinking following falsification.
A boolean wrapper that works well with properties.
An enumeration of the possible results after checking a property.
Transforms a type and a generator to produce a new generator.
A generator for values of the type of the given type parameter (
Represents an algebraic property about a program that may be
A random number generator.
The result of evaluating a property.
Represents a shrinking strategy over the given type parameter if that type can be represented as a tree structure.
A memoised generator variant.
shrinking). The expression of the property also serves as very rigorous documentation for the code under test; far surpassing that provided by traditional testing techniques. Many of the concepts of Reductio originated with a paper called QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs by Koen Claassen and John Hughes from Chalmers University of Technology. Reductio also borrows ideas from ScalaCheck by Rickard Nilsson.