|
Test.QuickCheck.Arbitrary |
|
|
|
|
|
Synopsis |
|
|
|
|
Arbitrary and CoArbitrary classes.
|
|
|
Random generation and shrinking of values.
| | Methods | | A generator for values of the given type.
| | | Produces a (possibly) empty list of all the possible
immediate shrinks of the given value.
|
| | Instances | Arbitrary Bool | Arbitrary Char | Arbitrary Double | Arbitrary Float | Arbitrary Int | Arbitrary Integer | Arbitrary () | Arbitrary OrdC | Arbitrary OrdB | Arbitrary OrdA | Arbitrary C | Arbitrary B | Arbitrary A | Arbitrary a => Arbitrary ([] a) | (Integral a, Arbitrary a) => Arbitrary (Ratio a) | Arbitrary a => Arbitrary (Maybe a) | Arbitrary a => Arbitrary (Smart a) | Arbitrary a => Arbitrary (Shrink2 a) | (Num a, Ord a, Arbitrary a) => Arbitrary (NonNegative a) | (Num a, Ord a, Arbitrary a) => Arbitrary (NonZero a) | (Num a, Ord a, Arbitrary a) => Arbitrary (Positive a) | Arbitrary a => Arbitrary (NonEmptyList a) | (Ord a, Arbitrary a) => Arbitrary (OrderedList a) | Arbitrary a => Arbitrary (Fixed a) | Arbitrary a => Arbitrary (Blind a) | (CoArbitrary a, Arbitrary b) => Arbitrary (a -> b) | (Arbitrary a, Arbitrary b) => Arbitrary (Either a b) | (Arbitrary a, Arbitrary b) => Arbitrary ((,) a b) | (Arbitrary a, ShrinkState s a) => Arbitrary (Shrinking s a) | (FunArbitrary a, Arbitrary b) => Arbitrary (Fun a b) | (FunArbitrary a, Arbitrary c) => Arbitrary (a :-> c) | (Arbitrary a, Arbitrary b, Arbitrary c) => Arbitrary ((,,) a b c) | (Arbitrary a, Arbitrary b, Arbitrary c, Arbitrary d) => Arbitrary ((,,,) a b c d) | (Arbitrary a, Arbitrary b, Arbitrary c, Arbitrary d, Arbitrary e) => Arbitrary ((,,,,) a b c d e) |
|
|
|
class CoArbitrary a where | Source |
|
Used for random generation of functions.
| | Methods | | 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 variant and >< to implement
coarbitrary.
|
| | Instances | CoArbitrary Bool | CoArbitrary Char | CoArbitrary Double | CoArbitrary Float | CoArbitrary Int | CoArbitrary Integer | CoArbitrary () | CoArbitrary OrdC | CoArbitrary OrdB | CoArbitrary OrdA | CoArbitrary C | CoArbitrary B | CoArbitrary A | CoArbitrary a => CoArbitrary ([] a) | (Integral a, CoArbitrary a) => CoArbitrary (Ratio a) | CoArbitrary a => CoArbitrary (Maybe a) | (Arbitrary a, CoArbitrary b) => CoArbitrary (a -> b) | (CoArbitrary a, CoArbitrary b) => CoArbitrary (Either a b) | (CoArbitrary a, CoArbitrary b) => CoArbitrary ((,) a b) | (CoArbitrary a, CoArbitrary b, CoArbitrary c) => CoArbitrary ((,,) a b c) | (CoArbitrary a, CoArbitrary b, CoArbitrary c, CoArbitrary d) => CoArbitrary ((,,,) a b c d) | (CoArbitrary a, CoArbitrary b, CoArbitrary c, CoArbitrary d, CoArbitrary e) => CoArbitrary ((,,,,) a b c d e) |
|
|
|
Helper functions for implementing arbitrary
|
|
|
Generates an integral number. The number can be positive or negative
and its maximum absolute value depends on the size parameter.
|
|
|
Generates a fractional number. The number can be positive or negative
and its maximum absolute value depends on the size parameter.
|
|
|
Generates an integral number. The number is chosen from the entire
range of the type.
|
|
|
Generates an element of a bounded type. The element is
chosen from the entire range of the type.
|
|
Helper functions for implementing shrink
|
|
shrinkNothing :: a -> [a] | Source |
|
Returns no shrinking alternatives.
|
|
shrinkList :: (a -> [a]) -> [a] -> [[a]] | Source |
|
|
|
Shrink an integral number.
|
|
|
Shrink a fraction.
|
|
Helper functions for implementing coarbitrary
|
|
|
Combine two generator perturbing functions, for example the
results of calls to variant or coarbitrary.
|
|
|
A coarbitrary implementation for integral numbers.
|
|
|
A coarbitrary implementation for real numbers.
|
|
|
coarbitrary helper for lazy people :-).
|
|
Generators which use arbitrary
|
|
|
Generates a list of a given length.
|
|
|
Generates an ordered list of a given length.
|
|
Produced by Haddock version 2.4.2 |