| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Polysemy.Test.Hedgehog
Description
Hedgehog interpreters, internal
Synopsis
- interpretHedgehog :: forall (m :: Type -> Type) (r :: EffectRow). Member (Embed (TestT m)) r => InterpreterFor (Hedgehog m) r
- rewriteHedgehog :: forall (m :: Type -> Type) (r :: EffectRow). Members '[Error Failure :: (Type -> Type) -> Type -> Type, Writer Journal, Embed m] r => InterpreterFor (Hedgehog m) r
- assert :: forall (m :: Type -> Type) (r :: EffectRow). (Monad m, HasCallStack, Member (Hedgehog m) r) => Bool -> Sem r ()
- (===) :: forall a (m :: Type -> Type) (r :: EffectRow). (Monad m, Eq a, Show a, HasCallStack, Member (Hedgehog m) r) => a -> a -> Sem r ()
- assertEq :: forall a (m :: Type -> Type) (r :: EffectRow). (Monad m, Eq a, Show a, HasCallStack, Member (Hedgehog m) r) => a -> a -> Sem r ()
- (/==) :: forall a (m :: Type -> Type) (r :: EffectRow). (Monad m, Eq a, Show a, HasCallStack, Member (Hedgehog m) r) => a -> a -> Sem r ()
- assertNeq :: forall a (m :: Type -> Type) (r :: EffectRow). (Monad m, Eq a, Show a, HasCallStack, Member (Hedgehog m) r) => a -> a -> Sem r ()
- evalEither :: forall a (m :: Type -> Type) e (r :: EffectRow). (Show e, Monad m, HasCallStack, Member (Hedgehog m) r) => Either e a -> Sem r a
- assertRight :: forall a (m :: Type -> Type) e (r :: EffectRow). (Eq a, Show e, Show a, Monad m, HasCallStack, Member (Hedgehog m) r) => a -> Either e a -> Sem r ()
- assertRight2 :: forall a (m :: Type -> Type) e1 e2 (r :: EffectRow). (Eq a, Show e1, Show e2, Show a, Monad m, HasCallStack, Member (Hedgehog m) r) => a -> Either e1 (Either e2 a) -> Sem r ()
- assertRight3 :: forall a (m :: Type -> Type) e1 e2 e3 (r :: EffectRow). (Eq a, Show e1, Show e2, Show e3, Show a, Monad m, HasCallStack, Member (Hedgehog m) r) => a -> Either e1 (Either e2 (Either e3 a)) -> Sem r ()
- evalLeft :: forall a (m :: Type -> Type) e (r :: EffectRow). (Show a, Monad m, HasCallStack, Member (Hedgehog m) r) => Either e a -> Sem r e
- assertLeft :: forall a (m :: Type -> Type) e (r :: EffectRow). (Eq e, Show e, Show a, Monad m, HasCallStack, Member (Hedgehog m) r) => e -> Either e a -> Sem r ()
- evalMaybe :: forall a (m :: Type -> Type) (r :: EffectRow). (Monad m, HasCallStack, Member (Hedgehog m) r) => Maybe a -> Sem r a
- assertJust :: forall a (m :: Type -> Type) (r :: EffectRow). (Eq a, Show a, Monad m, HasCallStack, Member (Hedgehog m) r) => a -> Maybe a -> Sem r ()
- evalError :: forall e a (m :: Type -> Type) (r :: EffectRow). (Show e, Monad m, HasCallStack, Member (Hedgehog m) r) => Sem ((Error e :: (Type -> Type) -> Type -> Type) ': r) a -> Sem r a
- assertCloseBy :: forall a (m :: Type -> Type) (r :: EffectRow). (Num a, Ord a, Monad m, HasCallStack, Member (Hedgehog m) r) => a -> a -> a -> Sem r ()
- assertClose :: forall a (m :: Type -> Type) (r :: EffectRow). (Ord a, Fractional a, Monad m, HasCallStack, Member (Hedgehog m) r) => a -> a -> Sem r ()
Documentation
interpretHedgehog :: forall (m :: Type -> Type) (r :: EffectRow). Member (Embed (TestT m)) r => InterpreterFor (Hedgehog m) r Source #
rewriteHedgehog :: forall (m :: Type -> Type) (r :: EffectRow). Members '[Error Failure :: (Type -> Type) -> Type -> Type, Writer Journal, Embed m] r => InterpreterFor (Hedgehog m) r Source #
assert :: forall (m :: Type -> Type) (r :: EffectRow). (Monad m, HasCallStack, Member (Hedgehog m) r) => Bool -> Sem r () Source #
Embeds assert.
(===) :: forall a (m :: Type -> Type) (r :: EffectRow). (Monad m, Eq a, Show a, HasCallStack, Member (Hedgehog m) r) => a -> a -> Sem r () infix 4 Source #
Embeds ===.
>>>5 === 65 === 6 ^^^^^^^ │ ━━━ Failed (- lhs) (+ rhs) ━━━ │ - 5 │ + 6
assertEq :: forall a (m :: Type -> Type) (r :: EffectRow). (Monad m, Eq a, Show a, HasCallStack, Member (Hedgehog m) r) => a -> a -> Sem r () Source #
Prefix variant of (===).
(/==) :: forall a (m :: Type -> Type) (r :: EffectRow). (Monad m, Eq a, Show a, HasCallStack, Member (Hedgehog m) r) => a -> a -> Sem r () infix 4 Source #
Embeds /==.
>>>5 /== 55 /== 5 ^^^^^^^ │ ━━━ Failed (no differences) ━━━ │ 5
assertNeq :: forall a (m :: Type -> Type) (r :: EffectRow). (Monad m, Eq a, Show a, HasCallStack, Member (Hedgehog m) r) => a -> a -> Sem r () Source #
Prefix variant of (/==).
evalEither :: forall a (m :: Type -> Type) e (r :: EffectRow). (Show e, Monad m, HasCallStack, Member (Hedgehog m) r) => Either e a -> Sem r a Source #
Embeds evalEither.
assertRight :: forall a (m :: Type -> Type) e (r :: EffectRow). (Eq a, Show e, Show a, Monad m, HasCallStack, Member (Hedgehog m) r) => a -> Either e a -> Sem r () Source #
Given a reference value, unpacks an Either with evalEither and applies === to the result in the
Right case, and produces a test failure in the Left case.
assertRight2 :: forall a (m :: Type -> Type) e1 e2 (r :: EffectRow). (Eq a, Show e1, Show e2, Show a, Monad m, HasCallStack, Member (Hedgehog m) r) => a -> Either e1 (Either e2 a) -> Sem r () Source #
Like assertRight, but for two nested Eithers.
assertRight3 :: forall a (m :: Type -> Type) e1 e2 e3 (r :: EffectRow). (Eq a, Show e1, Show e2, Show e3, Show a, Monad m, HasCallStack, Member (Hedgehog m) r) => a -> Either e1 (Either e2 (Either e3 a)) -> Sem r () Source #
Like assertRight, but for three nested Eithers.
evalLeft :: forall a (m :: Type -> Type) e (r :: EffectRow). (Show a, Monad m, HasCallStack, Member (Hedgehog m) r) => Either e a -> Sem r e Source #
Like evalEither, but for Left.
assertLeft :: forall a (m :: Type -> Type) e (r :: EffectRow). (Eq e, Show e, Show a, Monad m, HasCallStack, Member (Hedgehog m) r) => e -> Either e a -> Sem r () Source #
Like assertRight, but for Left.
evalMaybe :: forall a (m :: Type -> Type) (r :: EffectRow). (Monad m, HasCallStack, Member (Hedgehog m) r) => Maybe a -> Sem r a Source #
Like evalEither, but for Maybe.
assertJust :: forall a (m :: Type -> Type) (r :: EffectRow). (Eq a, Show a, Monad m, HasCallStack, Member (Hedgehog m) r) => a -> Maybe a -> Sem r () Source #
Given a reference value, asserts that the scrutinee is Just and its contained value matches the target.
evalError :: forall e a (m :: Type -> Type) (r :: EffectRow). (Show e, Monad m, HasCallStack, Member (Hedgehog m) r) => Sem ((Error e :: (Type -> Type) -> Type -> Type) ': r) a -> Sem r a Source #
Run a Polysemy Error effect and assert its result.
assertCloseBy :: forall a (m :: Type -> Type) (r :: EffectRow). (Num a, Ord a, Monad m, HasCallStack, Member (Hedgehog m) r) => a -> a -> a -> Sem r () Source #
Assert that two numeric values are closer to each other than the specified delta.
assertClose :: forall a (m :: Type -> Type) (r :: EffectRow). (Ord a, Fractional a, Monad m, HasCallStack, Member (Hedgehog m) r) => a -> a -> Sem r () Source #
Assert that two fractional values are closer to each other than 0.001.