falsify-0.4.0: src/Test/Falsify/Generator.hs
-- | Generator
--
-- Intended for qualified import.
--
-- > import Test.Falsify
-- > import qualified Test.Falsify.Generator as Gen
module Test.Falsify.Generator (
Gen -- opaque
-- * Simple (non-compound) generators
, bool
, inRange
, int
-- * Compound generators
-- ** Taking advantage of 'Control.Selective.Selective'
, choose
, oneof
-- ** Lists
, list
, elem
, pick
, pickBiased
, shuffle
-- ** Permutations
, permutation
-- ** Tweak test data distribution
, frequency
-- ** Trees
, tree
, bst
-- ** Shrink trees
, path
, pathAny
-- ** Marking
, mark
-- * Functions
, fun
, Function(..)
, GFunction -- opaque
-- * Reducing precision
, wordN
, properFraction
-- * Overriding shrinking
, withoutShrinking
, shrinkToOneOf
, firstThen
, shrinkWith
, shrinkToNothing
-- * Shrink trees
, fromShrinkTree
, toShrinkTree
, toShrinkTreeWithContext
-- * Generator independence
, bindIntegral
, perturb
-- * Low-level
, prim
, primWith
, exhaustive
, captureLocalTree
, bindWithoutShortcut
, minimalValue
) where
import Prelude hiding (either, elem, properFraction)
import Test.Falsify.Internal.Generator
import Test.Falsify.Internal.Generator.Compound
import Test.Falsify.Internal.Generator.Function
import Test.Falsify.Internal.Generator.Precision
import Test.Falsify.Internal.Generator.Shrinking
import Test.Falsify.Internal.Generator.Simple