-- 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.4
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
[getAtLeast] :: AtLeast t a -> t a
-- | Generate with a maximum, inclusive size as n :: Nat
newtype AtMost (n :: Nat) t a
AtMost :: t a -> AtMost t a
[getAtMost] :: AtMost t a -> 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
[getBetween] :: Between t a -> t a
-- | Convenience for AtLeast 1
type NonMempty = AtLeast 1
instance GHC.Base.Monoid (t a) => GHC.Base.Monoid (Test.QuickCheck.Combinators.Between n m t a)
instance Data.Traversable.Traversable t => Data.Traversable.Traversable (Test.QuickCheck.Combinators.Between n m t)
instance Data.Foldable.Foldable t => Data.Foldable.Foldable (Test.QuickCheck.Combinators.Between n m t)
instance GHC.Base.Monad t => GHC.Base.Monad (Test.QuickCheck.Combinators.Between n m t)
instance GHC.Base.Applicative t => GHC.Base.Applicative (Test.QuickCheck.Combinators.Between n m t)
instance GHC.Base.Functor t => GHC.Base.Functor (Test.QuickCheck.Combinators.Between n m t)
instance GHC.Generics.Generic (Test.QuickCheck.Combinators.Between n m t a)
instance (Data.Data.Data (t a), Data.Typeable.Internal.Typeable a, Data.Typeable.Internal.Typeable t, GHC.TypeNats.KnownNat m, GHC.TypeNats.KnownNat n) => Data.Data.Data (Test.QuickCheck.Combinators.Between n m t a)
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.Base.Monoid (t a) => GHC.Base.Monoid (Test.QuickCheck.Combinators.AtMost n t a)
instance Data.Traversable.Traversable t => Data.Traversable.Traversable (Test.QuickCheck.Combinators.AtMost n t)
instance Data.Foldable.Foldable t => Data.Foldable.Foldable (Test.QuickCheck.Combinators.AtMost n t)
instance GHC.Base.Monad t => GHC.Base.Monad (Test.QuickCheck.Combinators.AtMost n t)
instance GHC.Base.Applicative t => GHC.Base.Applicative (Test.QuickCheck.Combinators.AtMost n t)
instance GHC.Base.Functor t => GHC.Base.Functor (Test.QuickCheck.Combinators.AtMost n t)
instance GHC.Generics.Generic (Test.QuickCheck.Combinators.AtMost n t a)
instance (Data.Data.Data (t a), Data.Typeable.Internal.Typeable a, Data.Typeable.Internal.Typeable t, GHC.TypeNats.KnownNat n) => Data.Data.Data (Test.QuickCheck.Combinators.AtMost n 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.Base.Monoid (t a) => GHC.Base.Monoid (Test.QuickCheck.Combinators.AtLeast n t a)
instance Data.Traversable.Traversable t => Data.Traversable.Traversable (Test.QuickCheck.Combinators.AtLeast n t)
instance Data.Foldable.Foldable t => Data.Foldable.Foldable (Test.QuickCheck.Combinators.AtLeast n t)
instance GHC.Base.Monad t => GHC.Base.Monad (Test.QuickCheck.Combinators.AtLeast n t)
instance GHC.Base.Applicative t => GHC.Base.Applicative (Test.QuickCheck.Combinators.AtLeast n t)
instance GHC.Base.Functor t => GHC.Base.Functor (Test.QuickCheck.Combinators.AtLeast n t)
instance GHC.Generics.Generic (Test.QuickCheck.Combinators.AtLeast n t a)
instance (Data.Data.Data (t a), Data.Typeable.Internal.Typeable a, Data.Typeable.Internal.Typeable t, GHC.TypeNats.KnownNat n) => Data.Data.Data (Test.QuickCheck.Combinators.AtLeast 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, GHC.TypeNats.KnownNat n, GHC.TypeNats.KnownNat m, p a) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Combinators.Between n m t a)
instance (Test.QuickCheck.Arbitrary.Arbitrary a, GHC.Classes.Ord a, GHC.TypeNats.KnownNat n, Data.Unfoldable.Restricted.UnfoldableR p [], p a, GHC.TypeNats.KnownNat m) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Combinators.Between n m Test.QuickCheck.Modifiers.OrderedList a)
instance (Data.Unfoldable.Restricted.UnfoldableR p t, GHC.Base.Monoid (t a), Test.QuickCheck.Arbitrary.Arbitrary a, GHC.TypeNats.KnownNat m, p a) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Combinators.AtMost m t a)
instance (Test.QuickCheck.Arbitrary.Arbitrary a, GHC.Classes.Ord a, Data.Unfoldable.Restricted.UnfoldableR p [], p a, GHC.TypeNats.KnownNat n) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Combinators.AtMost n Test.QuickCheck.Modifiers.OrderedList a)
instance (Data.Unfoldable.Restricted.UnfoldableR p t, GHC.Base.Monoid (t a), Test.QuickCheck.Arbitrary.Arbitrary a, GHC.TypeNats.KnownNat n, p a) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Combinators.AtLeast n t a)
instance (Test.QuickCheck.Arbitrary.Arbitrary a, GHC.Classes.Ord a, Data.Unfoldable.Restricted.UnfoldableR p [], p a, GHC.TypeNats.KnownNat n) => Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Combinators.AtLeast n Test.QuickCheck.Modifiers.OrderedList a)