QuickCheck-2.6: Automatic testing of Haskell programs

Safe HaskellSafe-Inferred

Test.QuickCheck.Test

Contents

Synopsis

Running tests

data Args Source

Args specifies arguments to the QuickCheck driver

Constructors

Args 

Fields

replay :: Maybe (StdGen, Int)

should we replay a previous test?

maxSuccess :: Int

maximum number of successful tests before succeeding

maxDiscardRatio :: Int

maximum number of discarded tests per successful test before giving up

maxSize :: Int

size to use for the biggest test cases

chatty :: Bool

whether to print anything

Instances

data Result Source

Result represents the test result

Constructors

Success 

Fields

numTests :: Int

number of tests performed

number of tests performed

number of successful tests performed

number of successful tests performed

labels :: [(String, Int)]

labels and frequencies found during all successful tests

labels and frequencies found during all successful tests

labels and frequencies found during all tests

labels and frequencies found during all tests

output :: String

printed output

printed output

printed output

printed output

GaveUp 

Fields

numTests :: Int

number of tests performed

number of tests performed

number of successful tests performed

number of successful tests performed

labels :: [(String, Int)]

labels and frequencies found during all successful tests

labels and frequencies found during all successful tests

labels and frequencies found during all tests

labels and frequencies found during all tests

output :: String

printed output

printed output

printed output

printed output

Failure 

Fields

numTests :: Int

number of tests performed

number of tests performed

number of successful tests performed

number of successful tests performed

numShrinks :: Int

number of successful shrinking steps performed

usedSeed :: StdGen

what seed was used

usedSize :: Int

what was the test size

reason :: String

what was the reason

interrupted :: Bool

did the user press ctrl-C?

labels :: [(String, Int)]

labels and frequencies found during all successful tests

labels and frequencies found during all successful tests

labels and frequencies found during all tests

labels and frequencies found during all tests

output :: String

printed output

printed output

printed output

printed output

NoExpectedFailure 

Fields

numTests :: Int

number of tests performed

number of tests performed

number of successful tests performed

number of successful tests performed

labels :: [(String, Int)]

labels and frequencies found during all successful tests

labels and frequencies found during all successful tests

labels and frequencies found during all tests

labels and frequencies found during all tests

output :: String

printed output

printed output

printed output

printed output

Instances

isSuccess :: Result -> BoolSource

isSuccess checks if the test run result was a success

stdArgs :: ArgsSource

stdArgs are the default test arguments used

quickCheck :: Testable prop => prop -> IO ()Source

Tests a property and prints the results to stdout.

quickCheckWith :: Testable prop => Args -> prop -> IO ()Source

Tests a property, using test arguments, and prints the results to stdout.

quickCheckResult :: Testable prop => prop -> IO ResultSource

Tests a property, produces a test result, and prints the results to stdout.

quickCheckWithResult :: Testable prop => Args -> prop -> IO ResultSource

Tests a property, using test arguments, produces a test result, and prints the results to stdout.

verboseCheck :: Testable prop => prop -> IO ()Source

Tests a property and prints the results and all test cases generated to stdout. This is just a convenience function that means the same as quickCheck . verbose.

verboseCheckWith :: Testable prop => Args -> prop -> IO ()Source

Tests a property, using test arguments, and prints the results and all test cases generated to stdout. This is just a convenience function that combines quickCheckWith and verbose.

verboseCheckResult :: Testable prop => prop -> IO ResultSource

Tests a property, produces a test result, and prints the results and all test cases generated to stdout. This is just a convenience function that combines quickCheckResult and verbose.

verboseCheckWithResult :: Testable prop => Args -> prop -> IO ResultSource

Tests a property, using test arguments, produces a test result, and prints the results and all test cases generated to stdout. This is just a convenience function that combines quickCheckWithResult and verbose.

test :: State -> (StdGen -> Int -> Prop) -> IO ResultSource

doneTesting :: State -> (StdGen -> Int -> Prop) -> IO ResultSource

giveUp :: State -> (StdGen -> Int -> Prop) -> IO ResultSource

runATest :: State -> (StdGen -> Int -> Prop) -> IO ResultSource

safely :: State -> IO () -> IO ()Source