ArbitraryExtensions
Namespace: FsCheck
Extensons to transform Arbitrary instances into other Arbitrary instances.
Static members
Static member  Description 
Convert(arb, convertTo, convertFrom)
Signature: (arb:Arbitrary<'?209386> * convertTo:Func<'?209386,'?209387> * convertFrom:Func<'?209387,'?209386>) > Arbitrary<'?209387>
Type parameters: '?209386, '?209387

Construct an Arbitrary instance for a type that can be mapped to and from another type (e.g. a wrapper),
based on a Arbitrary instance for the source type and two mapping functions.

Filter(arb, filter)
Signature: (arb:Arbitrary<'?209389> * filter:Func<'?209389,bool>) > Arbitrary<'?209389>
Type parameters: '?209389

Return an Arbitrary instance that is a filtered version of an existing arbitrary instance.
The generator uses Gen.suchThat, and the shrinks are filtered using Seq.filter with the given predicate.

MapFilter(arb, map, filter)
Signature: (arb:Arbitrary<'?209391> * map:Func<'?209391,'?209391> * filter:Func<'?209391,bool>) > Arbitrary<'?209391>
Type parameters: '?209391

Return an Arbitrary instance that is a mapped and filtered version of an existing arbitrary instance.
The generator uses Gen.map with the given mapper and then Gen.suchThat with the given predicate,
and the shrinks are filtered using Seq.filter with the given predicate.
This is sometimes useful if using just a filter would reduce the chance of getting a good value
from the generator  and you can map the value instead. E.g. PositiveInt.
