{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE ScopedTypeVariables #-}
module Test.Validity.Property
( module Data.GenValidity,
forAllValid,
genGeneratesValid,
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,
)
where
import Data.GenValidity
import Test.Validity.Functions
import Test.Validity.GenValidity.Property
import Test.Validity.Operations
import Test.Validity.Property.Utils
import Test.Validity.Relations
import Test.Validity.Types