+-- | The Assertions module contains assertions for use in HUnit
+-- tests. They primarily fill the need for an equality test that
+-- works with floating point numbers.
module Assertions
where
import Point
-- | An HUnit assertion that wraps the almost_equals function. Stolen
--- from the definition of assertEqual in Test/HUnit/Base.hs.
+-- from the definition of 'assertEqual' in Test\/HUnit\/Base.hs.
assertAlmostEqual :: String -> Double -> Double -> Assertion
assertAlmostEqual preface expected actual =
unless (actual ~= expected) (assertFailure msg)
- where msg = (if null preface then "" else preface ++ "\n") ++
- "expected: " ++ show expected ++ "\n but got: " ++ show actual
+ where msg = (if null preface then "" else preface ++ "\n") ++
+ "expected: " ++ show expected ++ "\n but got: " ++ show actual
-- | An HUnit assertion that wraps the is_close function. Stolen
--- from the definition of assertEqual in Test/HUnit/Base.hs.
+-- from the definition of 'assertEqual' in Test\/HUnit\/Base.hs.
assertClose :: String -> Point -> Point -> Assertion
assertClose preface expected actual =
unless (actual `is_close` expected) (assertFailure msg)
- where msg = (if null preface then "" else preface ++ "\n") ++
- "expected: " ++ show expected ++ "\n but got: " ++ show actual
+ where msg = (if null preface then "" else preface ++ "\n") ++
+ "expected: " ++ show expected ++ "\n but got: " ++ show actual
+-- | It's asinine that this doesn't exist already.
+assertTrue :: String -> Bool -> Assertion
+assertTrue = assertBool