sydtest-0.3.0.0: A modern testing framework for Haskell with good defaults and advanced testing features.
Safe HaskellNone
LanguageHaskell2010

Test.Syd.Def.TestDefM

Synopsis

Documentation

type Spec = SpecWith () Source #

A synonym for easy migration from hspec

type SpecWith inner = SpecM inner () Source #

A synonym for easy migration from hspec

type SpecM inner result = TestDefM '[] inner result Source #

A synonym for easy migration from hspec

type TestDef outers inner = TestDefM outers inner () Source #

A synonym for a test suite definition

newtype TestDefM (outers :: [Type]) inner result Source #

The test definition monad

This type has three parameters:

  • outers: A type-level list of the outer resources. These are resources that are prived once, around a group of tests. (This is the type of the results of aroundAll.)
  • inner: The inner resource. This is a resource that is set up around every test, and even every example of a property test. (This is the type of the result of around.)
  • result: The result (TestDefM is a monad.)

In practice, all of these three parameters should be () at the top level.

Constructors

TestDefM 

Fields

Instances

Instances details
MonadState () (TestDefM outers inner) Source # 
Instance details

Defined in Test.Syd.Def.TestDefM

Methods

get :: TestDefM outers inner () #

put :: () -> TestDefM outers inner () #

state :: (() -> (a, ())) -> TestDefM outers inner a #

MonadReader TestRunSettings (TestDefM outers inner) Source # 
Instance details

Defined in Test.Syd.Def.TestDefM

Methods

ask :: TestDefM outers inner TestRunSettings #

local :: (TestRunSettings -> TestRunSettings) -> TestDefM outers inner a -> TestDefM outers inner a #

reader :: (TestRunSettings -> a) -> TestDefM outers inner a #

Monad (TestDefM outers inner) Source # 
Instance details

Defined in Test.Syd.Def.TestDefM

Methods

(>>=) :: TestDefM outers inner a -> (a -> TestDefM outers inner b) -> TestDefM outers inner b #

(>>) :: TestDefM outers inner a -> TestDefM outers inner b -> TestDefM outers inner b #

return :: a -> TestDefM outers inner a #

Functor (TestDefM outers inner) Source # 
Instance details

Defined in Test.Syd.Def.TestDefM

Methods

fmap :: (a -> b) -> TestDefM outers inner a -> TestDefM outers inner b #

(<$) :: a -> TestDefM outers inner b -> TestDefM outers inner a #

Applicative (TestDefM outers inner) Source # 
Instance details

Defined in Test.Syd.Def.TestDefM

Methods

pure :: a -> TestDefM outers inner a #

(<*>) :: TestDefM outers inner (a -> b) -> TestDefM outers inner a -> TestDefM outers inner b #

liftA2 :: (a -> b -> c) -> TestDefM outers inner a -> TestDefM outers inner b -> TestDefM outers inner c #

(*>) :: TestDefM outers inner a -> TestDefM outers inner b -> TestDefM outers inner b #

(<*) :: TestDefM outers inner a -> TestDefM outers inner b -> TestDefM outers inner a #

MonadIO (TestDefM outers inner) Source # 
Instance details

Defined in Test.Syd.Def.TestDefM

Methods

liftIO :: IO a -> TestDefM outers inner a #

MonadWriter (TestForest outers inner) (TestDefM outers inner) Source # 
Instance details

Defined in Test.Syd.Def.TestDefM

Methods

writer :: (a, TestForest outers inner) -> TestDefM outers inner a #

tell :: TestForest outers inner -> TestDefM outers inner () #

listen :: TestDefM outers inner a -> TestDefM outers inner (a, TestForest outers inner) #

pass :: TestDefM outers inner (a, TestForest outers inner -> TestForest outers inner) -> TestDefM outers inner a #

execTestDefM :: Settings -> TestDefM outers inner result -> IO (TestForest outers inner) Source #

runTestDefM :: Settings -> TestDefM outers inner result -> IO (result, TestForest outers inner) Source #

filterTestForest :: Maybe Text -> SpecDefForest outers inner result -> SpecDefForest outers inner result Source #

randomiseTestForest :: MonadRandom m => SpecDefForest outers inner result -> m (SpecDefForest outers inner result) Source #