HTF- The Haskell Test Framework

Safe HaskellNone



This module defines the AssertM monad, which allows you either to run assertions as ordinary unit tests or to evaluate them as pure functions.



class Monad m => AssertM m whereSource

A typeclass for generic assertions.


genericAssertFailure__ :: Location -> ColorString -> m aSource

genericSubAssert :: Location -> Maybe String -> m a -> m aSource

data AssertStackElem Source

Stack trace element for generic assertions.

data AssertBool a Source

Type for evaluating a generic assertion as a pure function.


AssertOk a

Assertion passes successfully and yields the given value.

AssertFailed [AssertStackElem]

Assertion fails with the given stack trace. In the stack trace, the outermost stackframe comes first.


boolValue :: AssertBool a -> BoolSource

Evaluates a generic assertion to a Bool value.

eitherValue :: AssertBool a -> Either String aSource

Evaluates a generic assertion to an Either value. The result is Right x if the assertion passes and yields value x, otherwise the result is Left err, where err is an error message.

formatStack :: [AssertStackElem] -> StringSource

Formats a stack trace.