This module defines some types used by the EasyCheck libraries.
Author: Michael Hanus
Version: January 2019
Abstract type to represent properties involving IO actions.
Constructors:
PropIO
:: (Bool -> String -> IO (Maybe String)) -> PropIO
Abstract type to represent standard properties to be checked. Basically, it contains all tests to be executed to check the property.
Constructors:
Prop
:: [Test] -> Prop
Abstract type to represent a single test for a property to be checked. A test consists of the result computed for this test, the arguments used for this test, and the labels possibly assigned to this test by annotating properties.
Constructors:
Test
:: Result -> [String] -> [String] -> Test
Data type to represent the result of checking a property.
Constructors:
Undef
:: Result
Ok
:: Result
Falsified
:: [String] -> Result
Ambigious
:: [Bool] -> [String] -> Result