Property package:QuickCheck
Convert the thing to a property.
The property monad is really a monad transformer that can contain
monadic computations in the monad
m it is parameterized by:
- m - the m-computations that may be performed
within PropertyM
Elements of
PropertyM m a may mix property operations and
m-computations.
Optional; used internally in order to improve shrinking. Tests a
property but also quantifies over an extra value (with a custom shrink
and show function). The
Testable instance for functions defines
propertyForAllShrinkShow in a way that improves shrinking.
Do I/O inside a property.
Warning: during shrinking, the I/O may not always be re-executed.
Instead, the I/O may be executed once and then its result retained. If
this is not acceptable, use
ioProperty instead.
Do I/O inside a property.
Warning: any random values generated inside of the argument to
ioProperty will not currently be shrunk. For best results,
generate all random values before calling
ioProperty, or use
idempotentIOProperty if that is safe.