{-# LANGUAGE PatternSynonyms #-} -- | QuickCheck extension for properties of higher-order values. -- -- See the README for an introduction. module Test.QuickCheck.HigherOrder ( -- * Constructible values Constructible(..) -- * Runners , quickCheck' , quickCheckWith' -- * Testable properties , Testable'(..) -- ** Types of testable properties , Equation(..) , Implication(..) , EqImpl -- ** Decidable properties , Decidable(..) -- * Testable equality , TestEq(..) , decEq -- * Helpers , ok , ko , quickChecks -- ** @Constructible@ wrappers , forAll_ , Constructed() , pattern Construct -- * CoArbitrary -- | See also the documentation of "Test.Fun". , (:->) , applyFun , CoArbitrary(..) , cogenEmbed , cogenIntegral , coarbitraryGeneric ) where import Test.Fun import Test.QuickCheck.HigherOrder.Internal.Testable import Test.QuickCheck.HigherOrder.Internal.Testable.Class import Test.QuickCheck.HigherOrder.Internal.TestEq import Test.QuickCheck.HigherOrder.Internal.Constructible import Test.QuickCheck.HigherOrder.Internal.Function ()