module Utils where import Test.HUnit assertFalse :: String -> IO () assertFalse s = assertFailure s >> fail "assertFalse" assertJust :: String -> Maybe a -> IO a assertJust s a = case a of Nothing -> assertFailure s >> fail "assertJust failed" Just b -> return b assertRight :: (Show a) => Either a b -> IO b assertRight a = case a of Left e -> assertFailure (show e) >> fail "assertRight failed" Right b -> return b assertLeft :: (Show b) => Either a b -> IO a assertLeft a = case a of Left e -> return e Right b -> assertFailure (show b) >> fail "assertLeft failed"