The things quick check is testing
The class of things which can be tested, i.e. turned into a property.
Bool, ->, Prop, QuickCheckGen.Gen, Result
Do I/O inside a property. This can obviously lead to unrepeatable testcases, so use with care.
access field unProp
Wrap a rose tree in an exception handler.
Wrap all the Results in a rose tree in exception handlers.
Different kinds of callbacks
Called with the final failing test-case
Called just after a test
access field abort
access field callbacks
access field expect
access field interrupted
access field ok
access field reason
access field stamp
Changes the maximum test case size for a property.
Shrinks the argument to property if it fails. Shrinking is done automatically for most types. This is only needed when you want to override the default behavior.
Disables shrinking for a property altogether.
Adds a callback
Prints a message to the terminal as part of the counterexample.
Performs an IO action after the last failure of a property.
Prints out the generated testcase every time the property is tested, like "verboseCheck" from QuickCheck 1. Only variables quantified over inside the verbose are printed.
Modifies a property so that it is expected to fail for some test cases.
Modifies a property so that it only will be tested once.
Attaches a label to a property.
This is used for reporting test case distribution.
Labels a property with a value:
collect x = label (show x)
Conditionally labels test case.
Checks that at least the given proportion of the test cases belong to the given class.
Implication for properties: The resulting property holds if the first argument is false (in which case the test case is discarded), or if the given property holds.
Explicit universal quantification: uses an explicitly given test case generator.
Like forAll, but tries to shrink the argument for failing test cases.
Nondeterministic choice: p1 .&. p2 picks randomly one of p1 and p2 to test. If you test the property 100 times it makes 100 random choices.
Conjunction: p1 .&&. p2 passes if both p1 and p2 pass.
Take the conjunction of several properties.
Disjunction: p1 .||. p2 passes unless p1 and p2 simultaneously fail.
Take the disjunction of several properties.
inherited from Applicative.*>
inherited from Applicative.<*
inherited from Monad.<*>
inherited from Monad.>>
inherited from Monad.join
inherited from Testable.exhaustive
inherited from Testable.exhaustive
Testable_Result.exhaustive, Result.interrupted, Result.expect, Result.abort
Prop.has$unProp, Result.has$reason, Result.has$interrupted, Result.has$ok, Result.has$stamp, Result.has$abort, Result.has$callbacks, Result.has$expect
expectFailure, noShrinking, once, verbose, Testable.property