Module Test.Prop.Types

This module defines some types used by the EasyCheck libraries.

Author: Michael Hanus

Version: January 2019

Summary of exported operations:

Exported datatypes:


PropIO

Abstract type to represent properties involving IO actions.

Constructors:

  • PropIO :: (Bool -> String -> IO (Maybe String)) -> PropIO

Prop

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

Test

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

Result

Data type to represent the result of checking a property.

Constructors:

  • Undef :: Result
  • Ok :: Result
  • Falsified :: [String] -> Result
  • Ambigious :: [Bool] -> [String] -> Result

Exported operations: