Description
Provide common invariants to be checked with QuickCheck.
Description
test-invariant is a library for providing common invariants of functions as higher order polymorphic functions. This reduces for a lot of cases the need for writing prop_ functions for QuickCheck.
>>>
quickCheck $ idempotent (abs :: Int -> Int)
>>>
quickCheck $ involutory not
>>>
quickCheck $ not . involutory (+ (2 :: Int))