yael-0.1.0.0

Safe HaskellNone
LanguageHaskell2010

Yael.Eff.Mock

Documentation

type family Args f where ... Source #

Equations

Args (a -> b) = (a, Args b) 
Args c = () 

type family Return f where ... Source #

Equations

Return (a -> b) = Return b 
Return (m b) = b 
Return b = b 

data MockAction x where Source #

Constructors

(:=>) :: Args x -> Return x -> MockAction x 
Instances
Show (Return x) => Show (MockAction x) Source # 
Instance details

Defined in Yael.Eff.Mock

newtype Mock x Source #

Constructors

Mock 

Fields

Instances
IsList (Mock x) Source # 
Instance details

Defined in Yael.Eff.Mock

Associated Types

type Item (Mock x) :: Type #

Methods

fromList :: [Item (Mock x)] -> Mock x #

fromListN :: Int -> [Item (Mock x)] -> Mock x #

toList :: Mock x -> [Item (Mock x)] #

Show (Return x) => Show (Mock x) Source # 
Instance details

Defined in Yael.Eff.Mock

Methods

showsPrec :: Int -> Mock x -> ShowS #

show :: Mock x -> String #

showList :: [Mock x] -> ShowS #

Semigroup (Mock x) Source # 
Instance details

Defined in Yael.Eff.Mock

Methods

(<>) :: Mock x -> Mock x -> Mock x #

sconcat :: NonEmpty (Mock x) -> Mock x #

stimes :: Integral b => b -> Mock x -> Mock x #

Monoid (Mock x) Source # 
Instance details

Defined in Yael.Eff.Mock

Methods

mempty :: Mock x #

mappend :: Mock x -> Mock x -> Mock x #

mconcat :: [Mock x] -> Mock x #

type Item (Mock x) Source # 
Instance details

Defined in Yael.Eff.Mock

type Item (Mock x) = Item [MockAction x]

type Mocked f m = HKD (f m) Mock Source #

class Mockable x where Source #

Methods

mock :: Mock x -> x Source #

Instances
x ~ Return x => Mockable x Source # 
Instance details

Defined in Yael.Eff.Mock

Methods

mock :: Mock x -> x Source #

(Monad m, x ~ Return (m x)) => Mockable (m x) Source # 
Instance details

Defined in Yael.Eff.Mock

Methods

mock :: Mock (m x) -> m x Source #

(Eq x, Mockable y) => Mockable (x -> y) Source # 
Instance details

Defined in Yael.Eff.Mock

Methods

mock :: Mock (x -> y) -> x -> y Source #

mocking :: forall f m. (Generic (f m), Construct Identity (f m), ConstraintsB (HKD (f m)), AllB Mockable (HKD (f m))) => Mocked f m -> f m Source #