QuickCheck
Safe HaskellTrustworthy
LanguageHaskell2010

Test.QuickCheck.Modifiers

Description

Modifiers for test data.

These types do things such as restricting the kind of test data that can be generated. They can be pattern-matched on in properties as a stylistic alternative to using explicit quantification.

Note: the contents of this module are re-exported by Test.QuickCheck. You do not need to import it directly.

Examples:

-- Functions cannot be shown (but see Test.QuickCheck.Function)
prop_TakeDropWhile (Blind p) (xs :: [A]) =
  takeWhile p xs ++ dropWhile p xs == xs
prop_TakeDrop (NonNegative n) (xs :: [A]) =
  take n xs ++ drop n xs == xs
-- cycle does not work for empty lists
prop_Cycle (NonNegative n) (NonEmpty (xs :: [A])) =
  take n (cycle xs) == take n (xs ++ cycle xs)
-- Instead of forAll orderedList
prop_Sort (Ordered (xs :: [OrdA])) =
  sort xs == xs
Synopsis

Type-level modifiers for changing generator behavior

newtype Blind a Source #

Blind x: as x, but x does not have to be in the Show class.

Constructors

Blind 

Fields

Instances

Instances details
Functor Blind Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap :: (a -> b) -> Blind a -> Blind b

(<$) :: a -> Blind b -> Blind a

Arbitrary a => Arbitrary (Blind a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitrary :: Gen (Blind a) Source #

shrink :: Blind a -> [Blind a] Source #

Enum a => Enum (Blind a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

succ :: Blind a -> Blind a

pred :: Blind a -> Blind a

toEnum :: Int -> Blind a

fromEnum :: Blind a -> Int

enumFrom :: Blind a -> [Blind a]

enumFromThen :: Blind a -> Blind a -> [Blind a]

enumFromTo :: Blind a -> Blind a -> [Blind a]

enumFromThenTo :: Blind a -> Blind a -> Blind a -> [Blind a]

Num a => Num (Blind a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(+) :: Blind a -> Blind a -> Blind a

(-) :: Blind a -> Blind a -> Blind a

(*) :: Blind a -> Blind a -> Blind a

negate :: Blind a -> Blind a

abs :: Blind a -> Blind a

signum :: Blind a -> Blind a

fromInteger :: Integer -> Blind a

Integral a => Integral (Blind a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

quot :: Blind a -> Blind a -> Blind a

rem :: Blind a -> Blind a -> Blind a

div :: Blind a -> Blind a -> Blind a

mod :: Blind a -> Blind a -> Blind a

quotRem :: Blind a -> Blind a -> (Blind a, Blind a)

divMod :: Blind a -> Blind a -> (Blind a, Blind a)

toInteger :: Blind a -> Integer

Real a => Real (Blind a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

toRational :: Blind a -> Rational

Show (Blind a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrec :: Int -> Blind a -> ShowS

show :: Blind a -> String

showList :: [Blind a] -> ShowS

Eq a => Eq (Blind a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(==) :: Blind a -> Blind a -> Bool

(/=) :: Blind a -> Blind a -> Bool

Ord a => Ord (Blind a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

compare :: Blind a -> Blind a -> Ordering

(<) :: Blind a -> Blind a -> Bool

(<=) :: Blind a -> Blind a -> Bool

(>) :: Blind a -> Blind a -> Bool

(>=) :: Blind a -> Blind a -> Bool

max :: Blind a -> Blind a -> Blind a

min :: Blind a -> Blind a -> Blind a

newtype Fixed a Source #

Fixed x: as x, but will not be shrunk.

Constructors

Fixed 

Fields

Instances

Instances details
Functor Fixed Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap :: (a -> b) -> Fixed a -> Fixed b

(<$) :: a -> Fixed b -> Fixed a

Arbitrary a => Arbitrary (Fixed a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitrary :: Gen (Fixed a) Source #

shrink :: Fixed a -> [Fixed a] Source #

Enum a => Enum (Fixed a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

succ :: Fixed a -> Fixed a

pred :: Fixed a -> Fixed a

toEnum :: Int -> Fixed a

fromEnum :: Fixed a -> Int

enumFrom :: Fixed a -> [Fixed a]

enumFromThen :: Fixed a -> Fixed a -> [Fixed a]

enumFromTo :: Fixed a -> Fixed a -> [Fixed a]

enumFromThenTo :: Fixed a -> Fixed a -> Fixed a -> [Fixed a]

Num a => Num (Fixed a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(+) :: Fixed a -> Fixed a -> Fixed a

(-) :: Fixed a -> Fixed a -> Fixed a

(*) :: Fixed a -> Fixed a -> Fixed a

negate :: Fixed a -> Fixed a

abs :: Fixed a -> Fixed a

signum :: Fixed a -> Fixed a

fromInteger :: Integer -> Fixed a

Read a => Read (Fixed a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

readsPrec :: Int -> ReadS (Fixed a)

readList :: ReadS [Fixed a]

readPrec :: ReadPrec (Fixed a)

readListPrec :: ReadPrec [Fixed a]

Integral a => Integral (Fixed a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

quot :: Fixed a -> Fixed a -> Fixed a

rem :: Fixed a -> Fixed a -> Fixed a

div :: Fixed a -> Fixed a -> Fixed a

mod :: Fixed a -> Fixed a -> Fixed a

quotRem :: Fixed a -> Fixed a -> (Fixed a, Fixed a)

divMod :: Fixed a -> Fixed a -> (Fixed a, Fixed a)

toInteger :: Fixed a -> Integer

Real a => Real (Fixed a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

toRational :: Fixed a -> Rational

Show a => Show (Fixed a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrec :: Int -> Fixed a -> ShowS

show :: Fixed a -> String

showList :: [Fixed a] -> ShowS

Eq a => Eq (Fixed a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(==) :: Fixed a -> Fixed a -> Bool

(/=) :: Fixed a -> Fixed a -> Bool

Ord a => Ord (Fixed a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

compare :: Fixed a -> Fixed a -> Ordering

(<) :: Fixed a -> Fixed a -> Bool

(<=) :: Fixed a -> Fixed a -> Bool

(>) :: Fixed a -> Fixed a -> Bool

(>=) :: Fixed a -> Fixed a -> Bool

max :: Fixed a -> Fixed a -> Fixed a

min :: Fixed a -> Fixed a -> Fixed a

newtype OrderedList a Source #

Ordered xs: guarantees that xs is ordered.

Constructors

Ordered 

Fields

Instances

Instances details
Functor OrderedList Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap :: (a -> b) -> OrderedList a -> OrderedList b

(<$) :: a -> OrderedList b -> OrderedList a

(Ord a, Arbitrary a) => Arbitrary (OrderedList a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Read a => Read (OrderedList a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

readsPrec :: Int -> ReadS (OrderedList a)

readList :: ReadS [OrderedList a]

readPrec :: ReadPrec (OrderedList a)

readListPrec :: ReadPrec [OrderedList a]

Show a => Show (OrderedList a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrec :: Int -> OrderedList a -> ShowS

show :: OrderedList a -> String

showList :: [OrderedList a] -> ShowS

Eq a => Eq (OrderedList a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(==) :: OrderedList a -> OrderedList a -> Bool

(/=) :: OrderedList a -> OrderedList a -> Bool

Ord a => Ord (OrderedList a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

compare :: OrderedList a -> OrderedList a -> Ordering

(<) :: OrderedList a -> OrderedList a -> Bool

(<=) :: OrderedList a -> OrderedList a -> Bool

(>) :: OrderedList a -> OrderedList a -> Bool

(>=) :: OrderedList a -> OrderedList a -> Bool

max :: OrderedList a -> OrderedList a -> OrderedList a

min :: OrderedList a -> OrderedList a -> OrderedList a

newtype NonEmptyList a Source #

NonEmpty xs: guarantees that xs is non-empty.

Constructors

NonEmpty 

Fields

Instances

Instances details
Functor NonEmptyList Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap :: (a -> b) -> NonEmptyList a -> NonEmptyList b

(<$) :: a -> NonEmptyList b -> NonEmptyList a

Arbitrary a => Arbitrary (NonEmptyList a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Read a => Read (NonEmptyList a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

readsPrec :: Int -> ReadS (NonEmptyList a)

readList :: ReadS [NonEmptyList a]

readPrec :: ReadPrec (NonEmptyList a)

readListPrec :: ReadPrec [NonEmptyList a]

Show a => Show (NonEmptyList a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrec :: Int -> NonEmptyList a -> ShowS

show :: NonEmptyList a -> String

showList :: [NonEmptyList a] -> ShowS

Eq a => Eq (NonEmptyList a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(==) :: NonEmptyList a -> NonEmptyList a -> Bool

(/=) :: NonEmptyList a -> NonEmptyList a -> Bool

Ord a => Ord (NonEmptyList a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

compare :: NonEmptyList a -> NonEmptyList a -> Ordering

(<) :: NonEmptyList a -> NonEmptyList a -> Bool

(<=) :: NonEmptyList a -> NonEmptyList a -> Bool

(>) :: NonEmptyList a -> NonEmptyList a -> Bool

(>=) :: NonEmptyList a -> NonEmptyList a -> Bool

max :: NonEmptyList a -> NonEmptyList a -> NonEmptyList a

min :: NonEmptyList a -> NonEmptyList a -> NonEmptyList a

data InfiniteList a Source #

InfiniteList xs _: guarantees that xs is an infinite list. When a counterexample is found, only prints the prefix of xs that was used by the program.

Here is a contrived example property:

prop_take_10 :: InfiniteList Char -> Bool
prop_take_10 (InfiniteList xs _) =
  or [ x == 'a' | x <- take 10 xs ]

In the following counterexample, the list must start with "bbbbbbbbbb" but the remaining (infinite) part can contain anything:

>>> quickCheck prop_take_10
*** Failed! Falsified (after 1 test and 14 shrinks):
"bbbbbbbbbb" ++ ...

Constructors

InfiniteList 

Fields

Instances

Instances details
Arbitrary a => Arbitrary (InfiniteList a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Show a => Show (InfiniteList a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrec :: Int -> InfiniteList a -> ShowS

show :: InfiniteList a -> String

showList :: [InfiniteList a] -> ShowS

newtype SortedList a Source #

Sorted xs: guarantees that xs is sorted.

Constructors

Sorted 

Fields

Instances

Instances details
Functor SortedList Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap :: (a -> b) -> SortedList a -> SortedList b

(<$) :: a -> SortedList b -> SortedList a

(Arbitrary a, Ord a) => Arbitrary (SortedList a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Read a => Read (SortedList a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

readsPrec :: Int -> ReadS (SortedList a)

readList :: ReadS [SortedList a]

readPrec :: ReadPrec (SortedList a)

readListPrec :: ReadPrec [SortedList a]

Show a => Show (SortedList a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrec :: Int -> SortedList a -> ShowS

show :: SortedList a -> String

showList :: [SortedList a] -> ShowS

Eq a => Eq (SortedList a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(==) :: SortedList a -> SortedList a -> Bool

(/=) :: SortedList a -> SortedList a -> Bool

Ord a => Ord (SortedList a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

compare :: SortedList a -> SortedList a -> Ordering

(<) :: SortedList a -> SortedList a -> Bool

(<=) :: SortedList a -> SortedList a -> Bool

(>) :: SortedList a -> SortedList a -> Bool

(>=) :: SortedList a -> SortedList a -> Bool

max :: SortedList a -> SortedList a -> SortedList a

min :: SortedList a -> SortedList a -> SortedList a

newtype Positive a Source #

Positive x: guarantees that x > 0.

Constructors

Positive 

Fields

Instances

Instances details
Functor Positive Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap :: (a -> b) -> Positive a -> Positive b

(<$) :: a -> Positive b -> Positive a

(Num a, Ord a, Arbitrary a) => Arbitrary (Positive a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Enum a => Enum (Positive a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Read a => Read (Positive a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

readsPrec :: Int -> ReadS (Positive a)

readList :: ReadS [Positive a]

readPrec :: ReadPrec (Positive a)

readListPrec :: ReadPrec [Positive a]

Show a => Show (Positive a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrec :: Int -> Positive a -> ShowS

show :: Positive a -> String

showList :: [Positive a] -> ShowS

Eq a => Eq (Positive a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(==) :: Positive a -> Positive a -> Bool

(/=) :: Positive a -> Positive a -> Bool

Ord a => Ord (Positive a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

compare :: Positive a -> Positive a -> Ordering

(<) :: Positive a -> Positive a -> Bool

(<=) :: Positive a -> Positive a -> Bool

(>) :: Positive a -> Positive a -> Bool

(>=) :: Positive a -> Positive a -> Bool

max :: Positive a -> Positive a -> Positive a

min :: Positive a -> Positive a -> Positive a

newtype Negative a Source #

Negative x: guarantees that x < 0.

Constructors

Negative 

Fields

Instances

Instances details
Functor Negative Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap :: (a -> b) -> Negative a -> Negative b

(<$) :: a -> Negative b -> Negative a

(Num a, Ord a, Arbitrary a) => Arbitrary (Negative a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Enum a => Enum (Negative a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Read a => Read (Negative a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

readsPrec :: Int -> ReadS (Negative a)

readList :: ReadS [Negative a]

readPrec :: ReadPrec (Negative a)

readListPrec :: ReadPrec [Negative a]

Show a => Show (Negative a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrec :: Int -> Negative a -> ShowS

show :: Negative a -> String

showList :: [Negative a] -> ShowS

Eq a => Eq (Negative a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(==) :: Negative a -> Negative a -> Bool

(/=) :: Negative a -> Negative a -> Bool

Ord a => Ord (Negative a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

compare :: Negative a -> Negative a -> Ordering

(<) :: Negative a -> Negative a -> Bool

(<=) :: Negative a -> Negative a -> Bool

(>) :: Negative a -> Negative a -> Bool

(>=) :: Negative a -> Negative a -> Bool

max :: Negative a -> Negative a -> Negative a

min :: Negative a -> Negative a -> Negative a

newtype NonZero a Source #

NonZero x: guarantees that x /= 0.

Constructors

NonZero 

Fields

Instances

Instances details
Functor NonZero Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap :: (a -> b) -> NonZero a -> NonZero b

(<$) :: a -> NonZero b -> NonZero a

(Num a, Eq a, Arbitrary a) => Arbitrary (NonZero a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Enum a => Enum (NonZero a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

succ :: NonZero a -> NonZero a

pred :: NonZero a -> NonZero a

toEnum :: Int -> NonZero a

fromEnum :: NonZero a -> Int

enumFrom :: NonZero a -> [NonZero a]

enumFromThen :: NonZero a -> NonZero a -> [NonZero a]

enumFromTo :: NonZero a -> NonZero a -> [NonZero a]

enumFromThenTo :: NonZero a -> NonZero a -> NonZero a -> [NonZero a]

Read a => Read (NonZero a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

readsPrec :: Int -> ReadS (NonZero a)

readList :: ReadS [NonZero a]

readPrec :: ReadPrec (NonZero a)

readListPrec :: ReadPrec [NonZero a]

Show a => Show (NonZero a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrec :: Int -> NonZero a -> ShowS

show :: NonZero a -> String

showList :: [NonZero a] -> ShowS

Eq a => Eq (NonZero a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(==) :: NonZero a -> NonZero a -> Bool

(/=) :: NonZero a -> NonZero a -> Bool

Ord a => Ord (NonZero a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

compare :: NonZero a -> NonZero a -> Ordering

(<) :: NonZero a -> NonZero a -> Bool

(<=) :: NonZero a -> NonZero a -> Bool

(>) :: NonZero a -> NonZero a -> Bool

(>=) :: NonZero a -> NonZero a -> Bool

max :: NonZero a -> NonZero a -> NonZero a

min :: NonZero a -> NonZero a -> NonZero a

newtype NonNegative a Source #

NonNegative x: guarantees that x >= 0.

Constructors

NonNegative 

Fields

Instances

Instances details
Functor NonNegative Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap :: (a -> b) -> NonNegative a -> NonNegative b

(<$) :: a -> NonNegative b -> NonNegative a

(Num a, Ord a, Arbitrary a) => Arbitrary (NonNegative a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Enum a => Enum (NonNegative a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Read a => Read (NonNegative a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

readsPrec :: Int -> ReadS (NonNegative a)

readList :: ReadS [NonNegative a]

readPrec :: ReadPrec (NonNegative a)

readListPrec :: ReadPrec [NonNegative a]

Show a => Show (NonNegative a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrec :: Int -> NonNegative a -> ShowS

show :: NonNegative a -> String

showList :: [NonNegative a] -> ShowS

Eq a => Eq (NonNegative a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(==) :: NonNegative a -> NonNegative a -> Bool

(/=) :: NonNegative a -> NonNegative a -> Bool

Ord a => Ord (NonNegative a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

compare :: NonNegative a -> NonNegative a -> Ordering

(<) :: NonNegative a -> NonNegative a -> Bool

(<=) :: NonNegative a -> NonNegative a -> Bool

(>) :: NonNegative a -> NonNegative a -> Bool

(>=) :: NonNegative a -> NonNegative a -> Bool

max :: NonNegative a -> NonNegative a -> NonNegative a

min :: NonNegative a -> NonNegative a -> NonNegative a

newtype NonPositive a Source #

NonPositive x: guarantees that x <= 0.

Constructors

NonPositive 

Fields

Instances

Instances details
Functor NonPositive Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap :: (a -> b) -> NonPositive a -> NonPositive b

(<$) :: a -> NonPositive b -> NonPositive a

(Num a, Ord a, Arbitrary a) => Arbitrary (NonPositive a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Enum a => Enum (NonPositive a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Read a => Read (NonPositive a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

readsPrec :: Int -> ReadS (NonPositive a)

readList :: ReadS [NonPositive a]

readPrec :: ReadPrec (NonPositive a)

readListPrec :: ReadPrec [NonPositive a]

Show a => Show (NonPositive a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrec :: Int -> NonPositive a -> ShowS

show :: NonPositive a -> String

showList :: [NonPositive a] -> ShowS

Eq a => Eq (NonPositive a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(==) :: NonPositive a -> NonPositive a -> Bool

(/=) :: NonPositive a -> NonPositive a -> Bool

Ord a => Ord (NonPositive a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

compare :: NonPositive a -> NonPositive a -> Ordering

(<) :: NonPositive a -> NonPositive a -> Bool

(<=) :: NonPositive a -> NonPositive a -> Bool

(>) :: NonPositive a -> NonPositive a -> Bool

(>=) :: NonPositive a -> NonPositive a -> Bool

max :: NonPositive a -> NonPositive a -> NonPositive a

min :: NonPositive a -> NonPositive a -> NonPositive a

newtype Large a Source #

Large x: by default, QuickCheck generates Ints drawn from a small range. Large Int gives you values drawn from the entire range instead.

Constructors

Large 

Fields

Instances

Instances details
Functor Large Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap :: (a -> b) -> Large a -> Large b

(<$) :: a -> Large b -> Large a

(Integral a, Bounded a) => Arbitrary (Large a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitrary :: Gen (Large a) Source #

shrink :: Large a -> [Large a] Source #

Enum a => Enum (Large a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

succ :: Large a -> Large a

pred :: Large a -> Large a

toEnum :: Int -> Large a

fromEnum :: Large a -> Int

enumFrom :: Large a -> [Large a]

enumFromThen :: Large a -> Large a -> [Large a]

enumFromTo :: Large a -> Large a -> [Large a]

enumFromThenTo :: Large a -> Large a -> Large a -> [Large a]

Ix a => Ix (Large a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

range :: (Large a, Large a) -> [Large a]

index :: (Large a, Large a) -> Large a -> Int

unsafeIndex :: (Large a, Large a) -> Large a -> Int

inRange :: (Large a, Large a) -> Large a -> Bool

rangeSize :: (Large a, Large a) -> Int

unsafeRangeSize :: (Large a, Large a) -> Int

Num a => Num (Large a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(+) :: Large a -> Large a -> Large a

(-) :: Large a -> Large a -> Large a

(*) :: Large a -> Large a -> Large a

negate :: Large a -> Large a

abs :: Large a -> Large a

signum :: Large a -> Large a

fromInteger :: Integer -> Large a

Read a => Read (Large a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

readsPrec :: Int -> ReadS (Large a)

readList :: ReadS [Large a]

readPrec :: ReadPrec (Large a)

readListPrec :: ReadPrec [Large a]

Integral a => Integral (Large a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

quot :: Large a -> Large a -> Large a

rem :: Large a -> Large a -> Large a

div :: Large a -> Large a -> Large a

mod :: Large a -> Large a -> Large a

quotRem :: Large a -> Large a -> (Large a, Large a)

divMod :: Large a -> Large a -> (Large a, Large a)

toInteger :: Large a -> Integer

Real a => Real (Large a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

toRational :: Large a -> Rational

Show a => Show (Large a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrec :: Int -> Large a -> ShowS

show :: Large a -> String

showList :: [Large a] -> ShowS

Eq a => Eq (Large a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(==) :: Large a -> Large a -> Bool

(/=) :: Large a -> Large a -> Bool

Ord a => Ord (Large a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

compare :: Large a -> Large a -> Ordering

(<) :: Large a -> Large a -> Bool

(<=) :: Large a -> Large a -> Bool

(>) :: Large a -> Large a -> Bool

(>=) :: Large a -> Large a -> Bool

max :: Large a -> Large a -> Large a

min :: Large a -> Large a -> Large a

newtype Small a Source #

Small x: generates values of x drawn from a small range. The opposite of Large.

Constructors

Small 

Fields

Instances

Instances details
Functor Small Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap :: (a -> b) -> Small a -> Small b

(<$) :: a -> Small b -> Small a

Integral a => Arbitrary (Small a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitrary :: Gen (Small a) Source #

shrink :: Small a -> [Small a] Source #

Enum a => Enum (Small a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

succ :: Small a -> Small a

pred :: Small a -> Small a

toEnum :: Int -> Small a

fromEnum :: Small a -> Int

enumFrom :: Small a -> [Small a]

enumFromThen :: Small a -> Small a -> [Small a]

enumFromTo :: Small a -> Small a -> [Small a]

enumFromThenTo :: Small a -> Small a -> Small a -> [Small a]

Ix a => Ix (Small a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

range :: (Small a, Small a) -> [Small a]

index :: (Small a, Small a) -> Small a -> Int

unsafeIndex :: (Small a, Small a) -> Small a -> Int

inRange :: (Small a, Small a) -> Small a -> Bool

rangeSize :: (Small a, Small a) -> Int

unsafeRangeSize :: (Small a, Small a) -> Int

Num a => Num (Small a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(+) :: Small a -> Small a -> Small a

(-) :: Small a -> Small a -> Small a

(*) :: Small a -> Small a -> Small a

negate :: Small a -> Small a

abs :: Small a -> Small a

signum :: Small a -> Small a

fromInteger :: Integer -> Small a

Read a => Read (Small a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

readsPrec :: Int -> ReadS (Small a)

readList :: ReadS [Small a]

readPrec :: ReadPrec (Small a)

readListPrec :: ReadPrec [Small a]

Integral a => Integral (Small a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

quot :: Small a -> Small a -> Small a

rem :: Small a -> Small a -> Small a

div :: Small a -> Small a -> Small a

mod :: Small a -> Small a -> Small a

quotRem :: Small a -> Small a -> (Small a, Small a)

divMod :: Small a -> Small a -> (Small a, Small a)

toInteger :: Small a -> Integer

Real a => Real (Small a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

toRational :: Small a -> Rational

Show a => Show (Small a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrec :: Int -> Small a -> ShowS

show :: Small a -> String

showList :: [Small a] -> ShowS

Eq a => Eq (Small a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(==) :: Small a -> Small a -> Bool

(/=) :: Small a -> Small a -> Bool

Ord a => Ord (Small a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

compare :: Small a -> Small a -> Ordering

(<) :: Small a -> Small a -> Bool

(<=) :: Small a -> Small a -> Bool

(>) :: Small a -> Small a -> Bool

(>=) :: Small a -> Small a -> Bool

max :: Small a -> Small a -> Small a

min :: Small a -> Small a -> Small a

data Smart a Source #

Smart _ x: tries a different order when shrinking.

Constructors

Smart Int a 

Instances

Instances details
Functor Smart Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap :: (a -> b) -> Smart a -> Smart b

(<$) :: a -> Smart b -> Smart a

Arbitrary a => Arbitrary (Smart a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitrary :: Gen (Smart a) Source #

shrink :: Smart a -> [Smart a] Source #

Show a => Show (Smart a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrec :: Int -> Smart a -> ShowS

show :: Smart a -> String

showList :: [Smart a] -> ShowS

newtype Shrink2 a Source #

Shrink2 x: allows 2 shrinking steps at the same time when shrinking x

Constructors

Shrink2 

Fields

Instances

Instances details
Functor Shrink2 Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap :: (a -> b) -> Shrink2 a -> Shrink2 b

(<$) :: a -> Shrink2 b -> Shrink2 a

Arbitrary a => Arbitrary (Shrink2 a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Enum a => Enum (Shrink2 a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

succ :: Shrink2 a -> Shrink2 a

pred :: Shrink2 a -> Shrink2 a

toEnum :: Int -> Shrink2 a

fromEnum :: Shrink2 a -> Int

enumFrom :: Shrink2 a -> [Shrink2 a]

enumFromThen :: Shrink2 a -> Shrink2 a -> [Shrink2 a]

enumFromTo :: Shrink2 a -> Shrink2 a -> [Shrink2 a]

enumFromThenTo :: Shrink2 a -> Shrink2 a -> Shrink2 a -> [Shrink2 a]

Num a => Num (Shrink2 a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(+) :: Shrink2 a -> Shrink2 a -> Shrink2 a

(-) :: Shrink2 a -> Shrink2 a -> Shrink2 a

(*) :: Shrink2 a -> Shrink2 a -> Shrink2 a

negate :: Shrink2 a -> Shrink2 a

abs :: Shrink2 a -> Shrink2 a

signum :: Shrink2 a -> Shrink2 a

fromInteger :: Integer -> Shrink2 a

Read a => Read (Shrink2 a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

readsPrec :: Int -> ReadS (Shrink2 a)

readList :: ReadS [Shrink2 a]

readPrec :: ReadPrec (Shrink2 a)

readListPrec :: ReadPrec [Shrink2 a]

Integral a => Integral (Shrink2 a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

quot :: Shrink2 a -> Shrink2 a -> Shrink2 a

rem :: Shrink2 a -> Shrink2 a -> Shrink2 a

div :: Shrink2 a -> Shrink2 a -> Shrink2 a

mod :: Shrink2 a -> Shrink2 a -> Shrink2 a

quotRem :: Shrink2 a -> Shrink2 a -> (Shrink2 a, Shrink2 a)

divMod :: Shrink2 a -> Shrink2 a -> (Shrink2 a, Shrink2 a)

toInteger :: Shrink2 a -> Integer

Real a => Real (Shrink2 a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

toRational :: Shrink2 a -> Rational

Show a => Show (Shrink2 a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrec :: Int -> Shrink2 a -> ShowS

show :: Shrink2 a -> String

showList :: [Shrink2 a] -> ShowS

Eq a => Eq (Shrink2 a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(==) :: Shrink2 a -> Shrink2 a -> Bool

(/=) :: Shrink2 a -> Shrink2 a -> Bool

Ord a => Ord (Shrink2 a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

compare :: Shrink2 a -> Shrink2 a -> Ordering

(<) :: Shrink2 a -> Shrink2 a -> Bool

(<=) :: Shrink2 a -> Shrink2 a -> Bool

(>) :: Shrink2 a -> Shrink2 a -> Bool

(>=) :: Shrink2 a -> Shrink2 a -> Bool

max :: Shrink2 a -> Shrink2 a -> Shrink2 a

min :: Shrink2 a -> Shrink2 a -> Shrink2 a

data Shrinking s a Source #

Shrinking _ x: allows for maintaining a state during shrinking.

Constructors

Shrinking s a 

Instances

Instances details
Functor (Shrinking s) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

fmap :: (a -> b) -> Shrinking s a -> Shrinking s b

(<$) :: a -> Shrinking s b -> Shrinking s a

(Arbitrary a, ShrinkState s a) => Arbitrary (Shrinking s a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

arbitrary :: Gen (Shrinking s a) Source #

shrink :: Shrinking s a -> [Shrinking s a] Source #

Show a => Show (Shrinking s a) Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrec :: Int -> Shrinking s a -> ShowS

show :: Shrinking s a -> String

showList :: [Shrinking s a] -> ShowS

class ShrinkState s a where Source #

Methods

shrinkInit :: a -> s Source #

shrinkState :: a -> s -> [(a, s)] Source #

newtype ASCIIString Source #

ASCIIString: generates an ASCII string.

Constructors

ASCIIString 

Fields

Instances

Instances details
Arbitrary ASCIIString Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Read ASCIIString Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

readsPrec :: Int -> ReadS ASCIIString

readList :: ReadS [ASCIIString]

readPrec :: ReadPrec ASCIIString

readListPrec :: ReadPrec [ASCIIString]

Show ASCIIString Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrec :: Int -> ASCIIString -> ShowS

show :: ASCIIString -> String

showList :: [ASCIIString] -> ShowS

Eq ASCIIString Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

(==) :: ASCIIString -> ASCIIString -> Bool

(/=) :: ASCIIString -> ASCIIString -> Bool

Ord ASCIIString Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

newtype UnicodeString Source #

UnicodeString: generates a unicode String. The string will not contain surrogate pairs.

Constructors

UnicodeString 

Fields

Instances

Instances details
Arbitrary UnicodeString Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Read UnicodeString Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

readsPrec :: Int -> ReadS UnicodeString

readList :: ReadS [UnicodeString]

readPrec :: ReadPrec UnicodeString

readListPrec :: ReadPrec [UnicodeString]

Show UnicodeString Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Methods

showsPrec :: Int -> UnicodeString -> ShowS

show :: UnicodeString -> String

showList :: [UnicodeString] -> ShowS

Eq UnicodeString Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

Ord UnicodeString Source # 
Instance details

Defined in Test.QuickCheck.Modifiers

newtype PrintableString Source #

PrintableString: generates a printable unicode String. The string will not contain surrogate pairs.

Constructors

PrintableString 

Fields