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

-- | Contributed functionality for Hspec
--   
--   Contributed functionality for Hspec
@package hspec-contrib
@version 0.5.2

module Test.Hspec.Contrib.HUnit

-- | Convert a HUnit test suite to a spec. This can be used to run existing
--   HUnit tests with Hspec.
fromHUnitTest :: Test -> Spec

-- | specListFromHUnitTest is similar to fromHUnitTest, but
--   it constructs a list of SpecTrees instead of a Spec.
specListFromHUnitTest :: Test -> [SpecTree ()]

module Test.Hspec.Contrib.Mocks.V1

-- | Create a test stub action.
--   
--   
--   >>> stub <- stubAction ["foo", "bar", "baz"]
--   
--   >>> stub
--   "foo"
--   
--   >>> stub
--   "bar"
--   
--   >>> stub
--   "baz"
--   
--   >>> stub
--   *** Exception: HUnitFailure ...stubAction: no values left...
--   
stubAction :: HasCallStack => [a] -> IO (IO a)

-- | Create a test spy action.
--   
--   Record any arguments that are passed to that action.
--   
--   
--   >>> withSpy $ \ spy -> spy "foo" >> spy "bar" >> spy "baz"
--   ["foo","bar","baz"]
--   
withSpy :: ((a -> IO ()) -> IO ()) -> IO [a]

module Test.Hspec.Contrib.Retry

-- | Retry evaluating example that may be failed until success.
retryWith :: Int -> a -> Retry a
instance Test.Hspec.Core.Example.Example a => Test.Hspec.Core.Example.Example (Test.Hspec.Contrib.Retry.Retry a)
