mockcat-1.0.1.0: Declarative mocking with a single arrow `~>`.
Safe HaskellNone
LanguageHaskell2010

Test.MockCat.Internal.Types

Synopsis

Documentation

data BuiltMock fn params Source #

Result of building a mock: function plus its recorder.

Constructors

BuiltMock 

type InvocationList params = [params] Source #

data InvocationRecord params Source #

Instances

Instances details
Show params => Show (InvocationRecord params) Source # 
Instance details

Defined in Test.MockCat.Internal.Types

Methods

showsPrec :: Int -> InvocationRecord params -> ShowS #

show :: InvocationRecord params -> String #

showList :: [InvocationRecord params] -> ShowS #

Eq params => Eq (InvocationRecord params) Source # 
Instance details

Defined in Test.MockCat.Internal.Types

Methods

(==) :: InvocationRecord params -> InvocationRecord params -> Bool #

(/=) :: InvocationRecord params -> InvocationRecord params -> Bool #

newtype Cases a b Source #

Constructors

Cases (State [a] b) 

Instances

Instances details
Applicative (Cases a) Source # 
Instance details

Defined in Test.MockCat.Internal.Types

Methods

pure :: a0 -> Cases a a0 #

(<*>) :: Cases a (a0 -> b) -> Cases a a0 -> Cases a b #

liftA2 :: (a0 -> b -> c) -> Cases a a0 -> Cases a b -> Cases a c #

(*>) :: Cases a a0 -> Cases a b -> Cases a b #

(<*) :: Cases a a0 -> Cases a b -> Cases a a0 #

Functor (Cases a) Source # 
Instance details

Defined in Test.MockCat.Internal.Types

Methods

fmap :: (a0 -> b) -> Cases a a0 -> Cases a b #

(<$) :: a0 -> Cases a b -> Cases a a0 #

Monad (Cases a) Source # 
Instance details

Defined in Test.MockCat.Internal.Types

Methods

(>>=) :: Cases a a0 -> (a0 -> Cases a b) -> Cases a b #

(>>) :: Cases a a0 -> Cases a b -> Cases a b #

return :: a0 -> Cases a a0 #

(ParamConstraints params args r, BuildCurried args r fn, BuildCurriedPure args r fn) => StubBuilder (Cases params ()) fn Source #

Overlapping instance for building a mock for a function with multiple parameters. This instance is used when the parameter type is a Cases type.

Instance details

Defined in Test.MockCat.Internal.Builder

Methods

buildStub :: Maybe MockName -> Cases params () -> fn Source #

(ParamConstraints params args r, BuildCurried args r fn) => MockBuilder (Cases params ()) fn args Source #

Overlapping instance for building a stub when parameters are provided as Cases.

Instance details

Defined in Test.MockCat.Internal.Builder

Methods

build :: MonadIO m => Maybe MockName -> Cases params () -> m (BuiltMock fn args) Source #

(ParamConstraints params args r, BuildCurriedIO args r fn) => MockIOBuilder (Cases params ()) fn args Source # 
Instance details

Defined in Test.MockCat.Internal.Builder

Methods

buildIO :: MonadIO m => Maybe MockName -> Cases params () -> m (BuiltMock fn args) Source #

StubBuilder (Cases (IO a) ()) (IO a) Source #

Instance for building a mock for a function with multiple parameters.

Instance details

Defined in Test.MockCat.Internal.Builder

Methods

buildStub :: Maybe MockName -> Cases (IO a) () -> IO a Source #

MockBuilder (Cases (IO a) ()) (IO a) () Source #

Instance for building a stub for `Cases (IO a) ()`.

Instance details

Defined in Test.MockCat.Internal.Builder

Methods

build :: MonadIO m => Maybe MockName -> Cases (IO a) () -> m (BuiltMock (IO a) ()) Source #

data VerifyOrderResult a Source #

Constructors

VerifyOrderResult 

Fields

data VerifyMatchType a Source #

Constructors

MatchAny a 
MatchAll a 

safeIndex :: [a] -> Int -> Maybe a Source #

perform :: IO a -> a Source #