-- 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 0.1.1.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
-- | Variant of a list.
--
-- A valid list only had valid data.
--
-- A invalid list had only invalid data or some valid data with invalid
-- data.
-- | Variant Maybe
--
-- Only Just data can be invalid, nothing always is valid.
-- | Varaint Either.
-- | Varaint tuple
--
-- Invalid tuple may had some valid data with invalid data or only
-- invalid data.
--
-- Valid tuple had only valid data.
-- | Varaint 3-tuple
--
-- Invalid 3-tuple may had some valid data with invalid data or only
-- invalid data.
--
-- Valid 3-tuple had only valid data.
-- | The class of things wich can be tested with invalid or valid input.
class VarTesteable prop
-- | Property for valid input
propertyValid :: VarTesteable prop => prop -> Property
-- | Property for invalid input
propertyInvalid :: VarTesteable prop => prop -> Property
-- | Same as Testeable
-- | Instead of variant we use valid or invalid generators
instance Test.QuickCheck.Variant.Variant a => Test.QuickCheck.Variant.Variant [a]
instance Test.QuickCheck.Variant.Variant a => Test.QuickCheck.Variant.Variant (GHC.Base.Maybe a)
instance (Test.QuickCheck.Variant.Variant a, Test.QuickCheck.Variant.Variant b) => Test.QuickCheck.Variant.Variant (Data.Either.Either a b)
instance (Test.QuickCheck.Variant.Variant a, Test.QuickCheck.Variant.Variant b) => Test.QuickCheck.Variant.Variant (a, b)
instance (Test.QuickCheck.Variant.Variant a, Test.QuickCheck.Variant.Variant b, Test.QuickCheck.Variant.Variant c) => Test.QuickCheck.Variant.Variant (a, b, c)
instance Test.QuickCheck.Variant.VarTesteable GHC.Types.Bool
instance (Test.QuickCheck.Arbitrary.Arbitrary a, Test.QuickCheck.Variant.Variant a, GHC.Show.Show a, Test.QuickCheck.Property.Testable prop) => Test.QuickCheck.Variant.VarTesteable (a -> prop)