-
class Arbitrary a
-
class Arbitrary
Random generation and shrinking of values.
Minimal complete definition: Arbitrary.arbitrary
Known Instances
Maybe, Bool, (,,,), (,), (), (,,), ->, (,,,,), Integer, Either, Char, Lang.Byte, Double, Int, Float, JArray, Long, TM.TreeMap, Lang.Short, Ordering, StringJ, []
Member Functions
-
arbitrary ∷ Arbitrary a ⇒ Gen a
-
A generator for values of the given type.
-
shrink ∷ Arbitrary a ⇒ a → [a]
-
Produces a (possibly) empty list of all the possible immediate shrinks of the given value.
-
shrinkList ∷ (a → [a]) → [a] → [[a]]
-
-
arbitrarySizedIntegral ∷ Num a ⇒ Gen a
-
Generates an integral number. The number can be positive or negative and its maximum absolute value depends on the size parameter.
-
arbitrarySizedFloating ∷ Floating a ⇒ Gen a
-
Generates a fractional number. The number can be positive or negative and its maximum absolute value depends on the size parameter.
-
arbitraryBoundedIntegral ∷ (Bounded a, Integral a) ⇒ Gen a
-
-
arbitraryBoundedRandom ∷ (Bounded a, Random a) ⇒ Gen a
-
Generates an element of a bounded type. The element is chosen from the entire range of the type.
-
arbitraryBoundedEnum ∷ (Bounded a, Enum a) ⇒ Gen a
-
-
arbitrarySizedBoundedIntegral ∷ (Bounded a, Integral a) ⇒ Gen a
-
-
shrinkNothing ∷ a → [a]
-
Returns no shrinking alternatives.
-
shrinkIntegral ∷ Integral a ⇒ a → [a]
-
Shrink an integral number.
-
shrinkFloating ∷ Floating a ⇒ a → [a]
-
Shrink a fraction.
-
class CoArbitrary a
-
CoArbitrary
Used for random generation of functions.
Known Instances
->, (,), (), (,,,), (,,), (,,,,), Maybe, Either, Char, Bool, Double, Integer, Int, Float, Long, TM.TreeMap, Ordering, StringJ, []
Member Functions
-
coarbitrary ∷ CoArbitrary a ⇒ a → Gen c → Gen c
-
Used to generate a function of type a -> c. The implementation should use the first argument to perturb the random generator given as the second argument. The returned generator is then used to generate the function result.
You can often use QuickCheckGen.variant and >< to implement CoArbitrary.coarbitrary.
-
>< ∷ (Gen a → Gen a) → (Gen a → Gen a) → Gen a → Gen a
infixr 1
-
-
coarbitraryIntegral ∷ Integral a ⇒ a → Gen b → Gen b
-
-
coarbitraryShow ∷ Show a ⇒ a → Gen b → Gen b
-
CoArbitrary.coarbitrary helper for lazy people :-).
-
coarbitraryEnum ∷ Enum a ⇒ a → Gen b → Gen b
-
A CoArbitrary.coarbitrary implementation for enums.
-
vector ∷ Arbitrary a ⇒ Int → Gen [a]
-
-
----------------------------------------------------------------------
Generates a list of a given length.
-
orderedList ∷ (Ord a, Arbitrary a) ⇒ Gen [a]
-
Generates an ordered list of a given length.
-
String → [String]
-
Arbitrary_String.shrink
-
Byte → [Byte]
-
Arbitrary_Byte.shrink
-
Short → [Short]
-
Arbitrary_Short.shrink
-
() → [()]
-
Arbitrary_().shrink
-
Bool → [Bool]
-
Arbitrary_Bool.shrink
-
Char → [Char]
-
Arbitrary_Char.shrink
-
Double → [Double]
-
Arbitrary_Double.shrink
-
Float → [Float]
-
Arbitrary_Float.shrink
-
Int → [Int]
-
Arbitrary_Int.shrink
-
Integer → [Integer]
-
Arbitrary_Integer.shrink
-
Long → [Long]
-
Arbitrary_Long.shrink
-
Ordering → [Ordering]
-
Arbitrary_Ordering.shrink
-
Gen String
-
Arbitrary_String.arbitrary
-
Gen Byte
-
Arbitrary_Byte.arbitrary
-
Gen Short
-
Arbitrary_Short.arbitrary
-
Gen ()
-
Arbitrary_().arbitrary
-
Gen Bool
-
Arbitrary_Bool.arbitrary
-
Gen Char
-
Arbitrary_Char.arbitrary
-
Gen Double
-
Arbitrary_Double.arbitrary
-
Gen Float
-
Arbitrary_Float.arbitrary
-
Gen Int
-
Arbitrary_Int.arbitrary
-
Gen Integer
-
Arbitrary_Integer.arbitrary
-
Gen Long
-
Arbitrary_Long.arbitrary
-
Gen Ordering
-
Arbitrary_Ordering.arbitrary
-
Ordering
-
Bounded_Ordering.minBound, Bounded_Ordering.maxBound
-
(Gen a → Gen a) → (Gen a → Gen a) → Gen a → Gen a
-
><
-
(a → [a]) → [a] → [[a]]
-
shrinkList
-
String → Gen 𝖆 → Gen 𝖆
-
CoArbitrary_String.coarbitrary
-
() → Gen 𝖆 → Gen 𝖆
-
CoArbitrary_().coarbitrary
-
Bool → Gen 𝖆 → Gen 𝖆
-
CoArbitrary_Bool.coarbitrary
-
Char → Gen 𝖆 → Gen 𝖆
-
CoArbitrary_Char.coarbitrary
-
Double → Gen 𝖆 → Gen 𝖆
-
CoArbitrary_Double.coarbitrary
-
Float → Gen 𝖆 → Gen 𝖆
-
CoArbitrary_Float.coarbitrary
-
Int → Gen 𝖆 → Gen 𝖆
-
CoArbitrary_Int.coarbitrary
-
Integer → Gen 𝖆 → Gen 𝖆
-
CoArbitrary_Integer.coarbitrary
-
Long → Gen 𝖆 → Gen 𝖆
-
CoArbitrary_Long.coarbitrary
-
Ordering → Gen 𝖆 → Gen 𝖆
-
CoArbitrary_Ordering.coarbitrary
-
a → [a]
-
shrinkNothing
-
Floating a ⇒ a → [a]
-
shrinkFloating
-
(ArrayElement 𝖆, Arbitrary 𝖆) ⇒ JArray 𝖆 → [JArray 𝖆]
-
Arbitrary_JArray.shrink
-
Integral a ⇒ a → [a]
-
shrinkIntegral
-
Arbitrary a ⇒ Int → Gen [a]
-
vector
-
Arbitrary a ⇒ a → [a]
-
Arbitrary.shrink
-
Arbitrary 𝖆 ⇒ Maybe 𝖆 → [Maybe 𝖆]
-
Arbitrary_Maybe.shrink
-
Arbitrary 𝖆 ⇒ [𝖆] → [[𝖆]]
-
Arbitrary_[].shrink
-
Floating a ⇒ Gen a
-
arbitrarySizedFloating
-
(ArrayElement 𝖆, Arbitrary 𝖆) ⇒ Gen (JArray 𝖆)
-
Arbitrary_JArray.arbitrary
-
(Bounded a, Enum a) ⇒ Gen a
-
arbitraryBoundedEnum
-
(Bounded a, Integral a) ⇒ Gen a
-
arbitraryBoundedIntegral, arbitrarySizedBoundedIntegral
-
(Bounded a, Random a) ⇒ Gen a
-
arbitraryBoundedRandom
-
Num a ⇒ Gen a
-
arbitrarySizedIntegral
-
(Ord a, Arbitrary a) ⇒ Gen [a]
-
orderedList
-
Arbitrary a ⇒ Gen a
-
Arbitrary.arbitrary
-
Arbitrary 𝖆 ⇒ Gen (Maybe 𝖆)
-
Arbitrary_Maybe.arbitrary
-
Arbitrary 𝖆 ⇒ Gen [𝖆]
-
Arbitrary_[].arbitrary
-
Enum a ⇒ a → Gen b → Gen b
-
coarbitraryEnum
-
Integral a ⇒ a → Gen b → Gen b
-
coarbitraryIntegral
-
(Ord 𝖇, Arbitrary 𝖇, Arbitrary 𝖆) ⇒ TreeMap 𝖇 𝖆 → [TreeMap 𝖇 𝖆]
-
Arbitrary_TreeMap.shrink
-
Show a ⇒ a → Gen b → Gen b
-
coarbitraryShow
-
(Arbitrary 𝖇, Arbitrary 𝖆) ⇒ (𝖇, 𝖆) → [(𝖇, 𝖆)]
-
Arbitrary_(,).shrink
-
(Arbitrary 𝖇, Arbitrary 𝖆) ⇒ (𝖇 | 𝖆) → [(𝖇 | 𝖆)]
-
Arbitrary_Either.shrink
-
CoArbitrary a ⇒ a → Gen c → Gen c
-
CoArbitrary.coarbitrary
-
CoArbitrary 𝖆 ⇒ Maybe 𝖆 → Gen 𝖇 → Gen 𝖇
-
CoArbitrary_Maybe.coarbitrary
-
CoArbitrary 𝖆 ⇒ [𝖆] → Gen 𝖇 → Gen 𝖇
-
CoArbitrary_[].coarbitrary
-
(CoArbitrary 𝖇, Arbitrary 𝖆) ⇒ (𝖇→𝖆) → [𝖇→𝖆]
-
Arbitrary_->.shrink
-
(Ord 𝖇, Arbitrary 𝖇, Arbitrary 𝖆) ⇒ Gen (TreeMap 𝖇 𝖆)
-
Arbitrary_TreeMap.arbitrary
-
(Arbitrary 𝖇, Arbitrary 𝖆) ⇒ Gen (𝖇, 𝖆)
-
Arbitrary_(,).arbitrary
-
(Arbitrary 𝖇, Arbitrary 𝖆) ⇒ Gen (𝖇 | 𝖆)
-
Arbitrary_Either.arbitrary
-
(CoArbitrary 𝖇, Arbitrary 𝖆) ⇒ Gen (𝖇→𝖆)
-
Arbitrary_->.arbitrary
-
(Ord 𝖇, CoArbitrary 𝖇, CoArbitrary 𝖆) ⇒ TreeMap 𝖇 𝖆 → Gen 𝖈 → Gen 𝖈
-
CoArbitrary_TreeMap.coarbitrary
-
(Arbitrary 𝖇, Arbitrary 𝖈, Arbitrary 𝖆) ⇒ (𝖇, 𝖈, 𝖆) → [(𝖇, 𝖈, 𝖆)]
-
Arbitrary_(,,).shrink
-
(Arbitrary 𝖇, CoArbitrary 𝖆) ⇒ (𝖇→𝖆) → Gen 𝖈 → Gen 𝖈
-
CoArbitrary_->.coarbitrary
-
(CoArbitrary 𝖇, CoArbitrary 𝖆) ⇒ (𝖇, 𝖆) → Gen 𝖈 → Gen 𝖈
-
CoArbitrary_(,).coarbitrary
-
(CoArbitrary 𝖇, CoArbitrary 𝖆) ⇒ (𝖇 | 𝖆) → Gen 𝖈 → Gen 𝖈
-
CoArbitrary_Either.coarbitrary
-
(Arbitrary 𝖇, Arbitrary 𝖈, Arbitrary 𝖆) ⇒ Gen (𝖇, 𝖈, 𝖆)
-
Arbitrary_(,,).arbitrary
-
(Arbitrary 𝖈, Arbitrary 𝖉, Arbitrary 𝖇, Arbitrary 𝖆) ⇒ (𝖈, 𝖉, 𝖇, 𝖆) → [(𝖈, 𝖉, 𝖇, 𝖆)]
-
Arbitrary_(,,,).shrink
-
(CoArbitrary 𝖇, CoArbitrary 𝖈, CoArbitrary 𝖆) ⇒ (𝖇, 𝖈, 𝖆) → Gen 𝖉 → Gen 𝖉
-
CoArbitrary_(,,).coarbitrary
-
(Arbitrary 𝖈, Arbitrary 𝖉, Arbitrary 𝖇, Arbitrary 𝖆) ⇒ Gen (𝖈, 𝖉, 𝖇, 𝖆)
-
Arbitrary_(,,,).arbitrary
-
(Arbitrary 𝖉, Arbitrary 𝖊, Arbitrary 𝖇, Arbitrary 𝖈, Arbitrary 𝖆) ⇒ (𝖉, 𝖊, 𝖇, 𝖈, 𝖆) → [(𝖉, 𝖊, 𝖇, 𝖈, 𝖆)]
-
Arbitrary_(,,,,).shrink
-
(CoArbitrary 𝖈, CoArbitrary 𝖉, CoArbitrary 𝖇, CoArbitrary 𝖆) ⇒ (𝖈, 𝖉, 𝖇, 𝖆) → Gen 𝖊 → Gen 𝖊
-
CoArbitrary_(,,,).coarbitrary
-
(Arbitrary 𝖉, Arbitrary 𝖊, Arbitrary 𝖇, Arbitrary 𝖈, Arbitrary 𝖆) ⇒ Gen (𝖉, 𝖊, 𝖇, 𝖈, 𝖆)
-
Arbitrary_(,,,,).arbitrary
-
(CoArbitrary 𝖉, CoArbitrary 𝖊, CoArbitrary 𝖇, CoArbitrary 𝖈, CoArbitrary 𝖆) ⇒ (𝖉, 𝖊, 𝖇, 𝖈, 𝖆) → Gen 𝖋 → Gen 𝖋
-
CoArbitrary_(,,,,).coarbitrary