smallcheck-1.1.1: A property-based testing library

MaintainerRoman Cheplyaka <>
Safe HaskellSafe



You should only need this module if you wish to create your own way to run SmallCheck tests



smallCheck :: Testable IO a => Depth -> a -> IO ()Source

A simple driver that runs the test in the IO monad and prints the results.

smallCheckM :: Testable m a => Depth -> a -> m (Maybe PropertyFailure)Source

Use this if:

  • You need to run a test in a monad different from IO
  • You need to analyse the results rather than just print them

smallCheckWithHook :: Testable m a => Depth -> (TestQuality -> m ()) -> a -> m (Maybe PropertyFailure)Source

Like smallCheckM, but allows to specify a monadic hook that gets executed after each test is run.

Useful for applications that want to report progress information to the user.

test :: Testable m a => a -> Property mSource

type Reason = StringSource

An explanation for the test outcome