Module
Test.QuickCheck.Arbitrary
- Package
- purescript-quickcheck
- Repository
- purescript/purescript-quickcheck
#Arbitrary Source
class Arbitrary t where
The Arbitrary
class represents those types whose values can be
randomly-generated.
arbitrary
uses the Gen
monad to express a random generator for
the type t
. Combinators in the Test.QuickCheck.Gen
module can be used to construct random generators.
Members
Instances
Arbitrary Boolean
Arbitrary Number
Arbitrary Int
Arbitrary String
Arbitrary Char
Arbitrary Unit
Arbitrary Ordering
(Arbitrary a) => Arbitrary (Array a)
(Coarbitrary a, Arbitrary b) => Arbitrary (a -> b)
(Arbitrary a, Arbitrary b) => Arbitrary (Tuple a b)
(Arbitrary a) => Arbitrary (Maybe a)
(Arbitrary a, Arbitrary b) => Arbitrary (Either a b)
(Arbitrary a) => Arbitrary (List a)
(Arbitrary a) => Arbitrary (Identity a)
(Arbitrary a) => Arbitrary (Lazy a)
(Arbitrary (f a), Arbitrary a) => Arbitrary (NonEmpty f a)
(Arbitrary a) => Arbitrary (NonEmptyList a)
#Coarbitrary Source
class Coarbitrary t where
The Coarbitrary
class represents types which appear on the left of
an Arbitrary
function arrow.
To construct an Arbitrary
instance for the type a -> b
, we need to
use the input of type a
to perturb a random generator for b
. This
is the role of the coarbitrary
function.
Coarbitrary
instances can be written using the perturbGen
function.
Members
coarbitrary :: forall r. t -> Gen r -> Gen r
Instances
Coarbitrary Boolean
Coarbitrary Number
Coarbitrary Int
Coarbitrary String
Coarbitrary Char
Coarbitrary Unit
Coarbitrary Ordering
(Coarbitrary a) => Coarbitrary (Array a)
(Arbitrary a, Coarbitrary b) => Coarbitrary (a -> b)
(Coarbitrary a, Coarbitrary b) => Coarbitrary (Tuple a b)
(Coarbitrary a) => Coarbitrary (Maybe a)
(Coarbitrary a, Coarbitrary b) => Coarbitrary (Either a b)
(Coarbitrary a) => Coarbitrary (List a)
(Coarbitrary a) => Coarbitrary (Identity a)
(Coarbitrary a) => Coarbitrary (Lazy a)
(Coarbitrary (f a), Coarbitrary a) => Coarbitrary (NonEmpty f a)
(Coarbitrary a) => Coarbitrary (NonEmptyList a)