Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
1 contributor

Users who have contributed to this file

44 lines (32 sloc) 1.08 KB
module Main (main) where
import Control.Monad (unless)
import Data.Either (isLeft, isRight)
import System.Exit (exitFailure)
import Test.Dwergaz
testFun01 :: a -> String
testFun01 = const "quux"
testFun02 :: a -> Int
testFun02 = const 42
testFun03 :: a -> Either String String
testFun03 = const (Left "quux")
testFun04 :: a -> Either String Int
testFun04 = const (Right 42)
expectExample01, expectExample02 :: Test
expectExample01 = Expect "Strings are equal" (==) "quux" (testFun01 "quux")
expectExample02 = Expect "Ints are equal" (==) 42 (testFun02 "quux")
predicateExample01, predicateExample02 :: Test
predicateExample01 = Predicate "Value is a Left" isLeft (testFun03 "quux")
predicateExample02 = Predicate "Value is a Right" isRight (testFun04 "quux")
exampleTests :: [Test]
exampleTests =
[ expectExample01
, expectExample02
, predicateExample01
, predicateExample02
]
results :: [Result]
results = fmap runTest exampleTests
main :: IO ()
main = do
_ <- mapM_ print results
unless (all isPassed results) exitFailure
You can’t perform that action at this time.