cleveland-0.3.0: Testing framework for Morley.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Test.Cleveland.Internal.Actions.Assertions

Description

Various test assertions in the MonadCleveland context.

Synopsis

Documentation

failure :: forall a caps m. (HasCallStack, MonadCleveland caps m) => Builder -> m a Source #

Fails the test with the given error message.

assert :: (HasCallStack, MonadCleveland caps m) => Bool -> Builder -> m () Source #

Fails the test with the given error message if the given condition is false.

(@==) infix 1 Source #

Arguments

:: (HasCallStack, MonadCleveland caps m, Eq a, Buildable a) 
=> a

The actual value.

-> a

The expected value.

-> m () 

x @== expected fails the test if x is not equal to expected.

(@/=) :: (HasCallStack, MonadCleveland caps m, Eq a, Buildable a) => a -> a -> m () infix 1 Source #

Fails the test if the two given values are equal.

(@@==) infix 1 Source #

Arguments

:: (HasCallStack, MonadCleveland caps m, Eq a, Buildable a) 
=> m a

The actual value.

-> a

The expected value.

-> m () 

Monadic version of @==.

getBalance addr @@== 10

(@@/=) :: (HasCallStack, MonadCleveland caps m, Eq a, Buildable a) => m a -> a -> m () infix 1 Source #

Monadic version of @/=.

getBalance addr @@/= 10

checkCompares :: forall a b caps m. (HasCallStack, MonadCleveland caps m, Buildable a, Buildable b) => a -> (a -> b -> Bool) -> b -> m () Source #

Fails the test if the comparison operator fails when applied to the given arguments. Prints an error message with both arguments.

Example:

checkCompares 2 (>) 1

checkComparesWith :: forall a b caps m. (HasCallStack, MonadCleveland caps m) => (a -> Text) -> a -> (a -> b -> Bool) -> (b -> Text) -> b -> m () Source #

Like checkCompares, but with an explicit show function. This function does not have any constraint on the type parameters a and b.

For example, to print with pretty:

checkComparesWith pretty a (<) pretty b

evalJust :: (HasCallStack, MonadCleveland caps m) => Builder -> Maybe a -> m a Source #

Fails the test if the Maybe is Nothing, otherwise returns the value in the Just.

evalRight :: (HasCallStack, MonadCleveland caps m) => (a -> Builder) -> Either a b -> m b Source #

Fails the test if the Either is Left, otherwise returns the value in the Right.