import Test.HUnit
...
testReverse = runTestTT reverseTests
reverseTests
= "reverse" ~:
test [ "reverse' == reverse" ~: test (map tc1 values)
, "reverse' . reverse' == id" ~: test (map tc2 values)
]
where
values = ["", "1", "123", "123456789"]
tc1 xs = show xs ~: reverse xs ~=? reverse1 xs
tc2 xs = show xs ~: xs ~=? (reverse1 . reverse1) xs