Generic.md
June 6, 2016 ยท View on GitHub
Module Test.StrongCheck.Generic
Generic deriving for Arbitrary and CoArbitrary instances.
Generation of arbitrary GenericSpines with corresponding GenericSignatures.
gArbitrary
gArbitrary :: forall a. Generic a => Gen a
Generate arbitrary values for any Generic data structure
gCoarbitrary
gCoarbitrary :: forall a r. Generic a => a -> Gen r -> Gen r
Perturb a generator using a Generic data structure
GenericValue
newtype GenericValue
Contains representation of an arbitrary value.
Consists of GenericSpine and corresponding GenericSignature.
Instances
Arbitrary GenericValue
runGenericValue
runGenericValue :: GenericValue -> { signature :: GenericSignature, spine :: GenericSpine }
Extract GenericSignature and GenericSpine from a GenericValue
genericValue
genericValue :: GenericSignature -> GenericSpine -> Maybe GenericValue
Smart constructor for GenericValue. Would return Nothing if given
GenericSpine doesn't conform to given GenericSignature
genGenericSignature
genGenericSignature :: Size -> Gen GenericSignature
Generates GenericSignatures. Size parameter affects how nested the structure is.
genGenericSpine
genGenericSpine :: GenericSignature -> Gen GenericSpine
Generates GenericSpines that conform to provided GenericSignature.