-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Behavior-Driven Development DSL -- -- An internal domain-specific language for testing programs using -- Behavior-Driven Development (BDD) process. It helps arranging your -- tests in "given" / "when" / "then" parts. -- -- For a more detailed description please refer to -- https://github.com/humane-software/haskell-bdd/ @package bdd @version 0.2.0.0 module Test.Bdd.Internal data GivenStore m GivenStore :: (m a, a -> m ()) -> GivenStore m type GivenWithTeardown m = Monad m => [GivenStore m] class StorableAsGivenWithTeardown m g mkGiven :: StorableAsGivenWithTeardown m g => g -> GivenWithTeardown m instance StorableAsGivenWithTeardown m (m a, a -> m ()) instance StorableAsGivenWithTeardown m (m a) module Test.Bdd (^?=) :: (Eq a, Show a) => IO a -> a -> b -> IO () type Given m a = Monad m => m a type Then m a = Monad m => a -> m () type When m a = Monad m => m a andAfter_ :: m a -> (a -> m ()) -> (m a, a -> m ()) expectError_ :: MonadError e m => When m a -> Then m e -> When m () given_ :: (StorableAsGivenWithTeardown m g, Monad m) => GivenWithTeardown m -> g -> GivenWithTeardown m noError :: Then m a testThat :: GivenWithTeardown m then_ :: When m a -> Then m a -> When m a when_ :: Monad m => GivenWithTeardown m -> When m b -> m b