-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Integration for tasty and hedgehog.
--   
--   Integrates the <a>hedgehog testing library</a> with the <a>tasty
--   testing framework</a>.
@package tasty-hedgehog
@version 1.4.0.2


-- | This package lets you test Hedgehog properties with tasty.
--   
--   Typical usage would look like this:
--   
--   <pre>
--   testGroup "tasty-hedgehog tests" [
--      testPropertyNamed "reverse involutive" "prop_reverse_involutive" prop_reverse_involutive
--    , testPropertyNamed "sort idempotent"    "prop_sort_idempotent"    prop_sort_idempotent
--    ]
--   </pre>
module Test.Tasty.Hedgehog

-- | Create a <a>TestTree</a> from a Hedgehog <a>Property</a>.
testProperty :: TestName -> Property -> TestTree

-- | <a>testPropertyNamed</a> <tt>testName propertyName property</tt>
--   creates a <a>TestTree</a> from <tt>property</tt> using
--   <tt>testName</tt> as the displayed description for the property. The
--   <tt>propertyName</tt> is used by Hedgehog when a failure occurs to
--   provide instructions for how to re-run the property and should
--   normally be set to a string representation of the <tt>property</tt>
--   argument.
--   
--   <pre>
--   testPropertyNamed
--    "reverse is involutive"
--    "prop_reverse_involutive"
--    prop_reverse_involutive
--   </pre>
testPropertyNamed :: TestName -> PropertyName -> Property -> TestTree

-- | Create a <a>TestTree</a> from a Hedgehog <a>Group</a>.
fromGroup :: Group -> TestTree

-- | The replay token to use for replaying a previous test run
newtype HedgehogReplay
HedgehogReplay :: Maybe (Skip, Seed) -> HedgehogReplay

-- | If a test case fails, show a replay token for replaying tests
newtype HedgehogShowReplay
HedgehogShowReplay :: Bool -> HedgehogShowReplay

-- | The number of successful test cases required before Hedgehog will pass
--   a test
newtype HedgehogTestLimit
HedgehogTestLimit :: Maybe TestLimit -> HedgehogTestLimit

-- | The number of discarded cases allowed before Hedgehog will fail a test
newtype HedgehogDiscardLimit
HedgehogDiscardLimit :: Maybe DiscardLimit -> HedgehogDiscardLimit

-- | The number of shrinks allowed before Hedgehog will fail a test
newtype HedgehogShrinkLimit
HedgehogShrinkLimit :: Maybe ShrinkLimit -> HedgehogShrinkLimit

-- | The number of times to re-run a test during shrinking
newtype HedgehogShrinkRetries
HedgehogShrinkRetries :: Maybe ShrinkRetries -> HedgehogShrinkRetries
instance GHC.Show.Show Test.Tasty.Hedgehog.HedgehogTestLimit
instance GHC.Classes.Ord Test.Tasty.Hedgehog.HedgehogTestLimit
instance GHC.Classes.Eq Test.Tasty.Hedgehog.HedgehogTestLimit
instance GHC.Show.Show Test.Tasty.Hedgehog.HedgehogDiscardLimit
instance GHC.Classes.Ord Test.Tasty.Hedgehog.HedgehogDiscardLimit
instance GHC.Classes.Eq Test.Tasty.Hedgehog.HedgehogDiscardLimit
instance GHC.Show.Show Test.Tasty.Hedgehog.HedgehogShrinkLimit
instance GHC.Classes.Ord Test.Tasty.Hedgehog.HedgehogShrinkLimit
instance GHC.Classes.Eq Test.Tasty.Hedgehog.HedgehogShrinkLimit
instance GHC.Show.Show Test.Tasty.Hedgehog.HedgehogShrinkRetries
instance GHC.Classes.Ord Test.Tasty.Hedgehog.HedgehogShrinkRetries
instance GHC.Classes.Eq Test.Tasty.Hedgehog.HedgehogShrinkRetries
instance Test.Tasty.Options.IsOption Test.Tasty.Hedgehog.HedgehogShrinkRetries
instance Test.Tasty.Core.IsTest Test.Tasty.Hedgehog.HP
instance Test.Tasty.Options.IsOption Test.Tasty.Hedgehog.HedgehogShrinkLimit
instance Test.Tasty.Options.IsOption Test.Tasty.Hedgehog.HedgehogDiscardLimit
instance Test.Tasty.Options.IsOption Test.Tasty.Hedgehog.HedgehogTestLimit
instance Test.Tasty.Options.IsOption Test.Tasty.Hedgehog.HedgehogShowReplay
instance Test.Tasty.Options.IsOption Test.Tasty.Hedgehog.HedgehogReplay
