Safe Haskell | None |
---|---|
Language | Haskell2010 |
A simple testing driver for testing properties using FEAT. Contains three drivers with different levels of flexibility of configuration.
Ironically, this code is mostly untested at the moment.
Synopsis
- test :: Enumerable a => (a -> Bool) -> IO [a]
- testOptions :: Enumerable a => Options -> (a -> Bool) -> IO [a]
- data Options = Options {}
- defOptions :: Options
- testFlex :: FlexibleOptions a -> (a -> Bool) -> IO (Result, [a])
- data Result
- type FlexibleOptions a = IO (FlexOptions a)
- data FlexOptions a = FlexOptions {}
- defFlex :: Enumerable a => FlexibleOptions a
- toFlex :: Enumerable a => Options -> FlexibleOptions a
- toFlexWith :: Enumerate a -> Options -> FlexibleOptions a
Simple test driver
test :: Enumerable a => (a -> Bool) -> IO [a] Source #
Test with default options (defOptions
). Returns a list of counterexamples
Test driver with show/readable options
testOptions :: Enumerable a => Options -> (a -> Bool) -> IO [a] Source #
Test with basic options. Returns a list of counterexamples.
Basic options for executing a test. Unlike FlexibleOptions
this type has Show/Read instances.
defOptions :: Options Source #
60 seconds timeout, maximum size of 100, bound of 100000 tests per size
Extremely flexible test driver
testFlex :: FlexibleOptions a -> (a -> Bool) -> IO (Result, [a]) Source #
The most flexible test driver, can be configured to behave in almost any way.
type FlexibleOptions a = IO (FlexOptions a) Source #
Much more flexible options for configuring every part of the test execution.
a
is the parameter type of the property.
data FlexOptions a Source #
FlexOptions
FlexOptions | |
|
defFlex :: Enumerable a => FlexibleOptions a Source #
toFlex :: Enumerable a => Options -> FlexibleOptions a Source #
toFlexWith :: Enumerate a -> Options -> FlexibleOptions a Source #