-- | HUnit and Hspec integration for 'Predicate' module Test.Predicates.HUnit (assertSatisfied, (@?~), shouldSatisfy) where import Test.HUnit (Assertion, assertFailure) import Test.Predicates (Predicate (accept, explain)) assertSatisfied :: Predicate a -> a -> Assertion assertSatisfied predicate val = if accept predicate val then return () else assertFailure (explain predicate val) (@?~) :: a -> Predicate a -> Assertion (@?~) = flip assertSatisfied shouldSatisfy :: a -> Predicate a -> Assertion shouldSatisfy = flip assertSatisfied