-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Simple type-level combinators for augmenting -- QuickCheck instances. -- -- Simply wrap the type you want to generate (assuming it satisfies all -- the necessary constraints) to refine the terms generated: -- --
-- {-# LANGUAGE DataKinds #-}
--
-- import Data.Set (Set)
-- import Test.QuickCheck
-- import Test.QuickCheck.Instances
-- import GHC.TypeLits
--
-- instance Arbitrary LinearEquation where
-- arbitrary = do
-- vars <- arbitrary :: Gen (AtLeast 3 Set String)
-- -- ...
--
@package quickcheck-combinators
@version 0.0.0
module Test.QuickCheck.Combinators
-- | Generate with a minimum, inclusive size as n :: Nat
newtype AtLeast (n :: Nat) t a
AtLeast :: (t a) -> AtLeast t a
-- | Generate with a maximum, inclusive size as n :: Nat
newtype AtMost (n :: Nat) t a
AtMost :: (t a) -> AtMost t a
-- | Generate between the inclusive range of n :: Nat and m ::
-- Nat
newtype Between (n :: Nat) (m :: Nat) t a
Between :: (t a) -> Between t a
-- | Convenience for AtLeast 1
type NonMempty = AtLeast 1
instance GHC.Enum.Enum (t a) => GHC.Enum.Enum (Test.QuickCheck.Combinators.Between n m t a)
instance GHC.Classes.Ord (t a) => GHC.Classes.Ord (Test.QuickCheck.Combinators.Between n m t a)
instance GHC.Classes.Eq (t a) => GHC.Classes.Eq (Test.QuickCheck.Combinators.Between n m t a)
instance GHC.Read.Read (t a) => GHC.Read.Read (Test.QuickCheck.Combinators.Between n m t a)
instance GHC.Show.Show (t a) => GHC.Show.Show (Test.QuickCheck.Combinators.Between n m t a)
instance GHC.Enum.Enum (t a) => GHC.Enum.Enum (Test.QuickCheck.Combinators.AtMost n t a)
instance GHC.Classes.Ord (t a) => GHC.Classes.Ord (Test.QuickCheck.Combinators.AtMost n t a)
instance GHC.Classes.Eq (t a) => GHC.Classes.Eq (Test.QuickCheck.Combinators.AtMost n t a)
instance GHC.Read.Read (t a) => GHC.Read.Read (Test.QuickCheck.Combinators.AtMost n t a)
instance GHC.Show.Show (t a) => GHC.Show.Show (Test.QuickCheck.Combinators.AtMost n t a)
instance GHC.Enum.Enum (t a) => GHC.Enum.Enum (Test.QuickCheck.Combinators.AtLeast n t a)
instance GHC.Classes.Ord (t a) => GHC.Classes.Ord (Test.QuickCheck.Combinators.AtLeast n t a)
instance GHC.Classes.Eq (t a) => GHC.Classes.Eq (Test.QuickCheck.Combinators.AtLeast n t a)
instance GHC.Read.Read (t a) => GHC.Read.Read (Test.QuickCheck.Combinators.AtLeast n t a)
instance GHC.Show.Show (t a) => GHC.Show.Show (Test.QuickCheck.Combinators.AtLeast n t a)
instance (Data.Unfoldable.Restricted.UnfoldableR p t, GHC.Base.Monoid (t a), Test.QuickCheck.Arbitrary.Arbitrary a, Test.QuickCheck.Arbitrary.Arbitrary (t a), GHC.TypeLits.KnownNat n, p a) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Combinators.AtLeast n t a)
instance (Data.Unfoldable.Restricted.UnfoldableR p t, GHC.Base.Monoid (t a), Test.QuickCheck.Arbitrary.Arbitrary a, Test.QuickCheck.Arbitrary.Arbitrary (t a), GHC.TypeLits.KnownNat m, p a) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Combinators.AtMost m t a)
instance (Data.Unfoldable.Restricted.UnfoldableR p t, GHC.Base.Monoid (t a), Test.QuickCheck.Arbitrary.Arbitrary a, Test.QuickCheck.Arbitrary.Arbitrary (t a), GHC.TypeLits.KnownNat n, GHC.TypeLits.KnownNat m, p a) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Combinators.Between n m t a)