-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Generator of "valid" and "invalid" data in a type class -- -- Generator of "valid" and "invalid" data in a type class @package QuickCheckVariant @version 1.0.0.0 -- | To get random "invalid" and "valid" data module Test.QuickCheck.Variant -- | You can define -- --
-- >>> instance (Varaint a) => Arbitrary a where {arbitrary = oneof [valid, invalid]}
--
class Variant a
-- | Get a generator of valid random data type
valid :: Variant a => Gen a
-- | Get a generator of invalid random data type
invalid :: Variant a => Gen a
-- | The class of things wich can be tested with invalid or valid input.
class VarTestable prop
-- | Property for valid input
propertyValid :: VarTestable prop => prop -> Property
-- | Property for invalid input
propertyInvalid :: VarTestable prop => prop -> Property
-- | Same as Testeable
mapTotalResultValid :: VarTestable prop => (Result -> Result) -> prop -> Property
mapRoseResultValid :: VarTestable prop => (Rose Result -> Rose Result) -> prop -> Property
mapPropValid :: VarTestable prop => (Prop -> Prop) -> prop -> Property
-- | Adds a callback
callbackValid :: VarTestable prop => Callback -> prop -> Property
-- | Adds the given string to the counterexample if the property fails.
counterexampleValid :: VarTestable prop => String -> prop -> Property
showCounterexampleValid :: String -> IO String
-- | Like forAll, but tries to shrink the argument for failing test
-- cases.
forAllShrinkValid :: (Show a, VarTestable prop) => Gen a -> (a -> [a]) -> (a -> prop) -> Property
mapTotalResultInvalid :: VarTestable prop => (Result -> Result) -> prop -> Property
mapRoseResultInvalid :: VarTestable prop => (Rose Result -> Rose Result) -> prop -> Property
mapPropInvalid :: VarTestable prop => (Prop -> Prop) -> prop -> Property
-- | Adds a callback
callbackInvalid :: VarTestable prop => Callback -> prop -> Property
-- | Adds the given string to the counterexample if the property fails.
counterexampleInvalid :: VarTestable prop => String -> prop -> Property
showCounterexampleInvalid :: String -> IO String
-- | Like forAll, but tries to shrink the argument for failing test
-- cases.
forAllShrinkInvalid :: (Show a, VarTestable prop) => Gen a -> (a -> [a]) -> (a -> prop) -> Property
-- | Instead of variant we use valid or invalid generators
instance Test.QuickCheck.Variant.VarTestable GHC.Types.Bool
instance (Test.QuickCheck.Arbitrary.Arbitrary a, Test.QuickCheck.Variant.Variant a, GHC.Show.Show a, Test.QuickCheck.Variant.VarTestable prop) => Test.QuickCheck.Variant.VarTestable (a -> prop)