lazysmallcheck-0.6: A library for demand-driven testing of Haskell programs

Safe HaskellSafe
LanguageHaskell98

Test.LazySmallCheck

Description

For documentation, see the paper "SmallCheck and Lazy SmallCheck: automatic exhaustive testing for small values" available at http://www.cs.york.ac.uk/fp/smallcheck/. Several examples are also included in the package.

Documentation

class Serial a where Source #

Minimal complete definition

series

Methods

series :: Series a Source #

Instances

Serial Bool Source # 
Serial Char Source # 
Serial Double Source # 
Serial Float Source # 
Serial Int Source # 
Serial Integer Source # 
Serial () Source # 

Methods

series :: Series () Source #

Serial a => Serial [a] Source # 

Methods

series :: Series [a] Source #

Serial a => Serial (Maybe a) Source # 

Methods

series :: Series (Maybe a) Source #

(Serial a, Serial b) => Serial (Either a b) Source # 

Methods

series :: Series (Either a b) Source #

(Serial a, Serial b) => Serial (a, b) Source # 

Methods

series :: Series (a, b) Source #

(Serial a, Serial b, Serial c) => Serial (a, b, c) Source # 

Methods

series :: Series (a, b, c) Source #

(Serial a, Serial b, Serial c, Serial d) => Serial (a, b, c, d) Source # 

Methods

series :: Series (a, b, c, d) Source #

(Serial a, Serial b, Serial c, Serial d, Serial e) => Serial (a, b, c, d, e) Source # 

Methods

series :: Series (a, b, c, d, e) Source #

type Series a = Int -> Cons a Source #

data Cons a Source #

cons :: a -> Series a Source #

(><) :: Series (a -> b) -> Series a -> Series b infixl 4 Source #

(\/) :: Series a -> Series a -> Series a infixr 3 Source #

drawnFrom :: [a] -> Cons a Source #

cons0 :: a -> Series a Source #

cons1 :: Serial a => (a -> b) -> Series b Source #

cons2 :: (Serial a, Serial b) => (a -> b -> c) -> Series c Source #

cons3 :: (Serial a, Serial b, Serial c) => (a -> b -> c -> d) -> Series d Source #

cons4 :: (Serial a, Serial b, Serial c, Serial d) => (a -> b -> c -> d -> e) -> Series e Source #

cons5 :: (Serial a, Serial b, Serial c, Serial d, Serial e) => (a -> b -> c -> d -> e -> f) -> Series f Source #

class Testable a Source #

Minimal complete definition

property

Instances

Testable Bool Source # 

Methods

property :: ([Term] -> Bool) -> P

Testable Property Source # 

Methods

property :: ([Term] -> Property) -> P

(Show a, Serial a, Testable b) => Testable (a -> b) Source # 

Methods

property :: ([Term] -> a -> b) -> P

depthCheck :: Testable a => Int -> a -> IO () Source #

smallCheck :: Testable a => Int -> a -> IO () Source #

test :: Testable a => a -> IO () Source #

(==>) :: Bool -> Bool -> Bool infixr 0 Source #

data Property Source #

Instances

Testable Property Source # 

Methods

property :: ([Term] -> Property) -> P