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

Test.MockCat.Cons

Synopsis

Documentation

data a :> b infixr 8 Source #

Constructors

a :> b infixr 8 

Instances

Instances details
(ResolvableMockWithParams m (Param a :> rest), Eq (Param a :> rest), Show (Param a :> rest)) => ShouldBeCalled m (Param a :> rest) Source #

Instance for Param chains (e.g., "a" ~> "b")

Instance details

Defined in Test.MockCat.Verify

Methods

shouldBeCalled :: m -> (Param a :> rest) -> IO () Source #

(Show a, Show b) => Show (a :> b) Source # 
Instance details

Defined in Test.MockCat.Cons

Methods

showsPrec :: Int -> (a :> b) -> ShowS #

show :: (a :> b) -> String #

showList :: [a :> b] -> ShowS #

(Eq a, Eq b) => Eq (a :> b) Source # 
Instance details

Defined in Test.MockCat.Cons

Methods

(==) :: (a :> b) -> (a :> b) -> Bool #

(/=) :: (a :> b) -> (a :> b) -> Bool #

ProjectionArgs (Head :> Param r) Source # 
Instance details

Defined in Test.MockCat.Param

Methods

projArgs :: (Head :> Param r) -> ArgsOf (Head :> Param r) Source #

ProjectionArgs (Param a :> Param r) Source # 
Instance details

Defined in Test.MockCat.Param

Methods

projArgs :: (Param a :> Param r) -> ArgsOf (Param a :> Param r) Source #

(ProjectionArgs rest, ArgsOf (Param a :> rest) ~ (Param a :> ArgsOf rest)) => ProjectionArgs (Param a :> rest) Source # 
Instance details

Defined in Test.MockCat.Param

Methods

projArgs :: (Param a :> rest) -> ArgsOf (Param a :> rest) Source #

ProjectionReturn (Head :> Param r) Source # 
Instance details

Defined in Test.MockCat.Param

ProjectionReturn (Param a :> Param r) Source # 
Instance details

Defined in Test.MockCat.Param

Methods

projReturn :: (Param a :> Param r) -> ReturnOf (Param a :> Param r) Source #

(ProjectionReturn rest, ReturnOf (Param a :> rest) ~ ReturnOf rest) => ProjectionReturn (Param a :> rest) Source # 
Instance details

Defined in Test.MockCat.Param

Methods

projReturn :: (Param a :> rest) -> ReturnOf (Param a :> rest) Source #

ToNormalizedArg (Param a :> rest) Source # 
Instance details

Defined in Test.MockCat.Verify

Methods

toNormalizedArg :: (Param a :> rest) -> NormalizeWithArg (Param a :> rest) Source #

(p ~ (Param a :> rest), ParamConstraints p args r, BuildCurried args r fn, BuildCurriedPure args r fn) => StubBuilder (Param a :> rest) fn Source # 
Instance details

Defined in Test.MockCat.Internal.Builder

Methods

buildStub :: Maybe MockName -> (Param a :> rest) -> fn Source #

(BuildCurried rest r fn, WrapParam a, fn' ~ (a -> fn)) => BuildCurried (Param a :> rest) r fn' Source # 
Instance details

Defined in Test.MockCat.Internal.Builder

Methods

buildCurriedImpl :: ((Param a :> rest) -> IO r) -> fn' Source #

(BuildCurriedIO rest r fn, WrapParam a, fn' ~ (a -> fn)) => BuildCurriedIO (Param a :> rest) r fn' Source # 
Instance details

Defined in Test.MockCat.Internal.Builder

Methods

buildCurriedIOImpl :: ((Param a :> rest) -> IO r) -> fn' Source #

(BuildCurriedPure rest r fn, WrapParam a, fn' ~ (a -> fn)) => BuildCurriedPure (Param a :> rest) r fn' Source # 
Instance details

Defined in Test.MockCat.Internal.Builder

Methods

buildCurriedPureImpl :: ((Param a :> rest) -> r) -> fn' Source #

MockBuilder (Head :> Param r) r () Source #

Instance for building a stub for a constant value (with Head marker).

Instance details

Defined in Test.MockCat.Internal.Builder

Methods

build :: MonadIO m => Maybe MockName -> (Head :> Param r) -> m (BuiltMock r ()) Source #

(p ~ (Param a :> rest), ParamConstraints p args r, BuildCurried args r fn) => MockBuilder (Param a :> rest) fn args Source #

Overlapping instance for building a stub defined via chained Param.

Instance details

Defined in Test.MockCat.Internal.Builder

Methods

build :: MonadIO m => Maybe MockName -> (Param a :> rest) -> m (BuiltMock fn args) Source #

(p ~ (Param a :> rest), ParamConstraints p args r, BuildCurriedIO args r fn) => MockIOBuilder (Param a :> rest) fn args Source # 
Instance details

Defined in Test.MockCat.Internal.Builder

Methods

buildIO :: MonadIO m => Maybe MockName -> (Param a :> rest) -> m (BuiltMock fn args) Source #

data Head Source #

Marker type for constant value mock functions. Used to distinguish constant values (Head :> Param r) from regular mock functions (Param a :> rest).

Constructors

Head 

Instances

Instances details
Show Head Source # 
Instance details

Defined in Test.MockCat.Cons

Methods

showsPrec :: Int -> Head -> ShowS #

show :: Head -> String #

showList :: [Head] -> ShowS #

Eq Head Source # 
Instance details

Defined in Test.MockCat.Cons

Methods

(==) :: Head -> Head -> Bool #

(/=) :: Head -> Head -> Bool #

ProjectionArgs (Head :> Param r) Source # 
Instance details

Defined in Test.MockCat.Param

Methods

projArgs :: (Head :> Param r) -> ArgsOf (Head :> Param r) Source #

ProjectionReturn (Head :> Param r) Source # 
Instance details

Defined in Test.MockCat.Param

MockBuilder (Head :> Param r) r () Source #

Instance for building a stub for a constant value (with Head marker).

Instance details

Defined in Test.MockCat.Internal.Builder

Methods

build :: MonadIO m => Maybe MockName -> (Head :> Param r) -> m (BuiltMock r ()) Source #