leancheck-0.6.3: src/Test/LeanCheck/Function.hs
-- |
-- Module : Test.LeanCheck.Function
-- Copyright : (c) 2015-2017 Rudy Matela
-- License : 3-Clause BSD (see the file LICENSE)
-- Maintainer : Rudy Matela <rudy@matela.com.br>
--
-- This module is part of LeanCheck,
-- a simple enumerative property-based testing library.
--
-- This module exports 'Listable' and 'Show' function typeclass instances.
-- These can be useful for testing higher-order properties --- properties that
-- take functions as arguments.
--
-- LeanCheck provides several alternative definitions of 'Listable' functions:
--
-- * "Test.LeanCheck.Function.ListsOfPairs":
-- considers functions as a finite list of exceptional input-output cases to
-- a default value (list of pairs of arguments and results).
-- This is the LeanCheck default, and is the one exported by this module.
--
-- * "Test.LeanCheck.Function.CoListable":
-- declares a 'CoListable' typeclass similar to SmallCheck's @CoSerial@.
-- Currently a stub.
--
-- * "Test.LeanCheck.Function.Periodic":
-- similar to ListsOfPairs, but instead of having a default value, functions
-- are periodic.
--
-- Take care: all the above 'Listable' instances are __experimental__. Only
-- one of the above can be imported at a time.
--
-- Warning: this is only intended to be used in testing modules. Avoid
-- importing this on modules that are used as libraries.
module Test.LeanCheck.Function () where
import Test.LeanCheck.Function.ListsOfPairs ()
import Test.LeanCheck.Function.Show ()