barecheck-0.2.0.0: QuickCheck implementations for common types

Safe HaskellSafe-Inferred

Prelude.Generators

Description

Generators for Prelude types.

This module also contains function generators, like function1 and function2. These generate random functions. To use these, get a coarbitrary function from one of the modules whose name ends in Coarbitrary or by using the QuickCheck coarbitrary function, along with using a generator for the function's result type. For example:

    module MyModule where

import Test.QuickCheck
    import qualified Prelude.Generators as G
    import qualified Data.Text.Coarbitrary as C
    import qualified Data.Text.Generators as G

genTextToMaybeText :: Gen (Text -> Maybe Text)
    genTextToMaybeText = function1 C.text (G.maybe (G.text arbitrary))

Documentation

maybe :: Gen a -> Gen (Maybe a)Source

either :: Gen a -> Gen b -> Gen (Either a b)Source

function1 :: (a -> Gen b -> Gen b) -> Gen b -> Gen (a -> b)Source

function2 :: (a -> Gen r -> Gen r) -> (b -> Gen r -> Gen r) -> Gen r -> Gen (a -> b -> r)Source

function3 :: (a -> Gen r -> Gen r) -> (b -> Gen r -> Gen r) -> (c -> Gen r -> Gen r) -> Gen r -> Gen (a -> b -> c -> r)Source

function4 :: (a -> Gen r -> Gen r) -> (b -> Gen r -> Gen r) -> (c -> Gen r -> Gen r) -> (d -> Gen r -> Gen r) -> Gen r -> Gen (a -> b -> c -> d -> r)Source

function5 :: (a -> Gen r -> Gen r) -> (b -> Gen r -> Gen r) -> (c -> Gen r -> Gen r) -> (d -> Gen r -> Gen r) -> (e -> Gen r -> Gen r) -> Gen r -> Gen (a -> b -> c -> d -> e -> r)Source

tuple2 :: Gen a -> Gen b -> Gen (a, b)Source

tuple3 :: Gen a -> Gen b -> Gen c -> Gen (a, b, c)Source

tuple4 :: Gen a -> Gen b -> Gen c -> Gen d -> Gen (a, b, c, d)Source

tuple5 :: Gen a -> Gen b -> Gen c -> Gen d -> Gen e -> Gen (a, b, c, d, e)Source