{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE ScopedTypeVariables #-}
module Test.Validity
(
forAllValid,
shouldBeValid,
shouldBeInvalid,
genValidSpec,
genValidGeneratesValid,
genGeneratesValid,
shrinkValidSpec,
shrinkValidSpecWithLimit,
shrinkValidPreservesValidOnGenValid,
shrinkPreservesValidOnGenValid,
shrinkValidPreservesValid,
shrinkingStaysValid,
shrinkingPreserves,
arbitrarySpec,
arbitraryGeneratesOnlyValid,
producesValidsOnGen,
producesValid,
producesValidsOnArbitrary,
producesValidsOnGens2,
producesValid2,
producesValidsOnArbitrary2,
producesValidsOnGens3,
producesValid3,
producesValidsOnArbitrary3,
CanFail (..),
succeedsOnGen,
succeeds,
succeedsOnArbitrary,
succeedsOnGens2,
succeeds2,
succeedsOnArbitrary2,
failsOnGen,
failsOnGens2,
validIfSucceedsOnGen,
validIfSucceedsOnArbitrary,
validIfSucceeds,
validIfSucceedsOnGens2,
validIfSucceeds2,
validIfSucceedsOnArbitrary2,
validIfSucceedsOnGens3,
validIfSucceeds3,
validIfSucceedsOnArbitrary3,
equivalentOnGen,
equivalent,
equivalentOnArbitrary,
equivalentOnGens2,
equivalent2,
equivalentOnArbitrary2,
equivalentOnGens3,
equivalent3,
equivalentOnArbitrary3,
equivalentWhenFirstSucceedsOnGen,
equivalentWhenFirstSucceeds,
equivalentWhenFirstSucceedsOnArbitrary,
equivalentWhenFirstSucceedsOnGens2,
equivalentWhenFirstSucceeds2,
equivalentWhenFirstSucceedsOnArbitrary2,
equivalentWhenSecondSucceedsOnGen,
equivalentWhenSecondSucceeds,
equivalentWhenSecondSucceedsOnArbitrary,
equivalentWhenSecondSucceedsOnGens2,
equivalentWhenSecondSucceeds2,
equivalentWhenSecondSucceedsOnArbitrary2,
equivalentWhenSucceedOnGen,
equivalentWhenSucceed,
equivalentWhenSucceedOnArbitrary,
equivalentWhenSucceedOnGens2,
equivalentWhenSucceed2,
equivalentWhenSucceedOnArbitrary2,
inverseFunctionsOnGen,
inverseFunctions,
inverseFunctionsOnArbitrary,
inverseFunctionsIfFirstSucceedsOnGen,
inverseFunctionsIfFirstSucceeds,
inverseFunctionsIfFirstSucceedsOnArbitrary,
inverseFunctionsIfSecondSucceedsOnGen,
inverseFunctionsIfSecondSucceeds,
inverseFunctionsIfSecondSucceedsOnArbitrary,
inverseFunctionsIfSucceedOnGen,
inverseFunctionsIfSucceed,
inverseFunctionsIfSucceedOnArbitrary,
idempotentOnGen,
idempotent,
idempotentOnArbitrary,
reflexiveOnElem,
reflexivityOnGen,
reflexivity,
reflexivityOnArbitrary,
transitiveOnElems,
transitivityOnGens,
transitivity,
transitivityOnArbitrary,
antisymmetricOnElemsWithEquality,
antisymmetryOnGensWithEquality,
antisymmetryOnGens,
antisymmetry,
antisymmetryOnArbitrary,
antireflexiveOnElem,
antireflexivityOnGen,
antireflexivity,
antireflexivityOnArbitrary,
symmetricOnElems,
symmetryOnGens,
symmetry,
symmetryOnArbitrary,
leftIdentityOnElemWithEquality,
leftIdentityOnGenWithEquality,
leftIdentityOnGen,
leftIdentity,
leftIdentityOnArbitrary,
rightIdentityOnElemWithEquality,
rightIdentityOnGenWithEquality,
rightIdentityOnGen,
rightIdentity,
rightIdentityOnArbitrary,
identityOnGen,
identity,
identityOnArbitrary,
associativeOnGens,
associative,
associativeOnArbitrary,
commutativeOnGens,
commutative,
commutativeOnArbitrary,
showReadSpec,
showReadSpecOnArbitrary,
showReadSpecOnGen,
eqSpec,
eqSpecOnArbitrary,
eqSpecOnGen,
ordSpecOnGen,
ordSpec,
ordSpecOnArbitrary,
monoidSpec,
monoidSpecOnArbitrary,
monoidSpecOnGen,
functorSpec,
functorSpecOnArbitrary,
functorSpecOnGens,
applicativeSpec,
applicativeSpecOnArbitrary,
applicativeSpecOnGens,
monadSpec,
monadSpecOnArbitrary,
monadSpecOnGens,
module Data.GenValidity,
)
where
import Data.GenValidity
import Test.Validity.Applicative
import Test.Validity.Arbitrary
import Test.Validity.Eq
import Test.Validity.Functions
import Test.Validity.Functor
import Test.Validity.GenValidity
import Test.Validity.Monad
import Test.Validity.Monoid
import Test.Validity.Operations
import Test.Validity.Ord
import Test.Validity.Property
import Test.Validity.Show
import Test.Validity.Shrinking
import Test.Validity.Utils