-- 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.0.1


-- | 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 error result.
data TestError
BFalse :: (Maybe String) -> TestError
QCError :: Result -> TestError

-- | Run a single test suite.
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 ()
instance GHC.Show.Show Test.QuickCheck.Simple.TestError
