-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Test properties and default-mains for QuickCheck
--   
--   This package contains definitions of test properties and default-mains
--   using QuickCheck library.
@package quickcheck-simple
@version 0.1.1.1


-- | This module provides a compatible ioProperty definition.
module Test.QuickCheck.CompatIO

-- | Do I/O inside a property.
--   
--   Warning: any random values generated inside of the argument to
--   <tt>ioProperty</tt> will not currently be shrunk. For best results,
--   generate all random values before calling <tt>ioProperty</tt>, or use
--   <a>idempotentIOProperty</a> if that is safe.
ioProperty :: Testable prop => IO prop -> Property


-- | This module contains definitions of test properties and default-mains
--   using QuickCheck library.
module Test.QuickCheck.Simple

-- | Property type. <a>Bool</a> or <a>Testable</a> of QuickCheck.
data Property
Bool :: Maybe String -> Bool -> Property
QuickCheck :: Property -> Property

-- | <a>Bool</a> specialized property with message for False case
boolTest' :: String -> String -> Bool -> Test

-- | <a>Bool</a> specialized property
boolTest :: String -> Bool -> Test

-- | <a>Eq</a> specialized property with explicit passing
eqTest' :: (a -> a -> Bool) -> (a -> String) -> String -> a -> a -> Test

-- | <a>Eq</a> specialized property
eqTest :: (Eq a, Show a) => String -> a -> a -> Test

-- | QuickCheck <a>Testable</a> property
qcTest :: Testable prop => String -> prop -> Test

-- | Property with label string
type Test = (String, Property)

-- | Test failure result.
data TestError
BFalse :: Maybe String -> TestError
QCError :: Result -> TestError

-- | Run a single test suite.
runTest_ :: Bool -> Test -> IO (Maybe TestError)

-- | Not verbose version of runTest_
runTest :: Test -> IO (Maybe TestError)

-- | Default main to run test suites.
defaultMain_ :: Bool -> [Test] -> IO ()

-- | Not verbose version of <a>defaultMain'</a>.
defaultMain :: [Test] -> IO ()

-- | Verbose verison of defaultMain
verboseMain :: [Test] -> IO ()

-- | <i>Deprecated: Use defaultMain_ instead of this.</i>
defaultMain' :: Bool -> [Test] -> IO ()
instance GHC.Internal.Show.Show Test.QuickCheck.Simple.TestError
