test-monad-laws-0.0.0.0: Laws for mtl classes as QuickCheck properties.

Safe HaskellNone
LanguageHaskell2010

Test.Monad.Except.Mutants

Synopsis

Documentation

bad_throwZero :: forall m b e. MonadError e m => e -> (e -> m b) -> Equation (m b) Source #

bad_throw_catch :: forall m a e. MonadError e m => e -> (e -> m a) -> Equation (m a) Source #

bad_catch_catch_1 :: forall m a e. MonadError e m => m a -> (e -> m a) -> (e -> m a) -> Equation (m a) Source #

bad_catch_catch_2 :: forall m a e. MonadError e m => m a -> (e -> m a) -> (e -> m a) -> Equation (m a) Source #

bad_catch_bind :: forall m a b e. MonadError e m => m a -> (a -> m b) -> (e -> m b) -> Equation (m b) Source #

data CatchDoesNothing Source #

Instances
Monad m => MonadError e (MutantExcept1T e m) Source # 
Instance details

Defined in Test.Monad.Except.Mutants

Methods

throwError :: e -> MutantExcept1T e m a #

catchError :: MutantExcept1T e m a -> (e -> MutantExcept1T e m a) -> MutantExcept1T e m a #

type MutantExcept1T e = Mutant CatchDoesNothing (ExceptT e) Source #

Fails:

'throw_catch'

Passes (wrongly):

'bad_throw_catch'
'bad_catch_catch_1'
'bad_catch_catch_2'
'bad_catch_bind'

data CatchTwice Source #

Instances
Monad m => MonadError e (MutantExcept2T e m) Source # 
Instance details

Defined in Test.Monad.Except.Mutants

Methods

throwError :: e -> MutantExcept2T e m a #

catchError :: MutantExcept2T e m a -> (e -> MutantExcept2T e m a) -> MutantExcept2T e m a #

type MutantExcept2T e = Mutant CatchTwice (ExceptT e) Source #

Fails:

'throw_catch'
'catch_catch'

data Recoverable Source #

Instances
MonadError (e, s) m => MonadError e (MutantRStateT s m) Source # 
Instance details

Defined in Test.Monad.Except.Mutants

Methods

throwError :: e -> MutantRStateT s m a #

catchError :: MutantRStateT s m a -> (e -> MutantRStateT s m a) -> MutantRStateT s m a #