Safe Haskell | None |
---|---|
Language | Haskell98 |
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.
- test :: Enumerable a => (a -> Bool) -> IO (Result a)
- data Result a
- counterexamples :: Result a -> [a]
- testOptions :: Enumerable a => Options -> (a -> Bool) -> IO (Result a)
- data Options = Options {}
- defOptions :: Options
- testFlex :: FlexibleOptions a -> (a -> Bool) -> IO (Result a)
- 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 (Result a) Source #
Test with default options (defOptions
).
counterexamples :: Result a -> [a] Source #
Test driver with show/readable options
testOptions :: Enumerable a => Options -> (a -> Bool) -> IO (Result a) Source #
Test with basic options.
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 #