module OpenTheory.Primitive.Test
( assert,
check )
where
import qualified Test.QuickCheck as QuickCheck
assert :: String -> Bool -> IO ()
assert desc prop =
do putStr desc
if prop
then putStrLn "+++ OK"
else
do putStr "**"
putStrLn "* Failed!"
error "Assertion failed"
check :: QuickCheck.Testable prop => String -> prop -> IO ()
check desc prop =
do putStr desc
res <- QuickCheck.quickCheckWithResult args prop
case res of
QuickCheck.Failure {} -> error "Proposition failed"
_ -> return ()
where
args = QuickCheck.stdArgs {QuickCheck.maxSuccess = 100}