polysemy-test-0.1.0.0: lib/Polysemy/Test/Assert.hs
{-# OPTIONS_HADDOCK hide #-}
module Polysemy.Test.Assert (
module Polysemy.Test.Assert,
assert,
evalEither,
(===),
) where
import Hedgehog (TestT, assert, evalEither, (===))
assertRight ::
Eq a =>
Show a =>
Show e =>
Monad m =>
a ->
Either e a ->
TestT m ()
assertRight target =
(target ===) <=< evalEither
data ValueIsNothing =
ValueIsNothing
deriving Show
assertJust ::
Eq a =>
Show a =>
Monad m =>
a ->
Maybe a ->
TestT m ()
assertJust target =
assertRight target . maybeToRight ValueIsNothing
evalMaybe ::
Monad m =>
Maybe a ->
TestT m a
evalMaybe =
evalEither . maybeToRight ValueIsNothing