module Test.Util(
Result(..),
pass, failure, result, results,
progress, failed
) where
import Data.Monoid
data Result = Result {resultFailures :: Int, resultTotal :: Int}
pass :: Result
pass = Result 0 1
failure :: Result
failure = Result 1 1
result :: Bool -> Result
result x = if x then pass else failure
results :: IO [Result] -> IO Result
results = fmap mconcat
instance Monoid Result where
mempty = Result 0 0
mappend (Result f1 t1) (Result f2 t2) = Result (f1+f2) (t1+t2)
progress :: IO ()
progress = putChar '.'
failed :: [String] -> IO ()
failed xs = putStrLn $ unlines $ "" : xs