-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | HUnit like assertions for QuickCheck -- -- Library with convenient assertions for QuickCheck properties like in -- HUnit @package quickcheck-assertions @version 0.3.0 -- | Module provides convenient functions to do some assertions in -- QuickCheck properties with pretty printed reasons. For example you can -- do something like that: -- --
-- module Main where -- -- import Test.Hspec -- import Test.Hspec.QuickCheck -- import Test.QuickCheck.Assertions -- import Test.QuickCheck.Property -- -- someProp :: Int -> Int -> Result -- someProp a b = (a ?> b) -- -- someOtherProp :: Double -> Double -> Result -- someOtherProp a b = (a ?== b) -- -- main = hspec $ describe "failing test" $ do -- prop "must fail" $ someProp -- prop "must fail again" $ someOtherProp ---- -- And receive pretty printed fail message when testing: -- --
-- failing test -- - must fail FAILED [1] -- - must fail again FAILED [2] -- -- 1) failing test must fail FAILED -- *** Failed! (after 1 test): -- >>>>>>>>>>>>>> the value -- 0 -- >>>>>>>>>>>>>> should be greater than value -- 0 -- 0 -- 0 -- -- -- 2) failing test must fail again FAILED -- *** Failed! (after 2 tests and 4 shrinks): -- >>>>>>>>>>>>>> expected -- 0.0 -- >>>>>>>>>>>>>> but got -- 1.0 -- 0.0 -- 1.0 ---- -- Ok, not very well printed, but better than nothing. module Test.QuickCheck.Assertions binAsrt :: String -> Bool -> Result -- | Left argument should be equal to right (?==) :: (Eq a, Show a) => a -> a -> Result -- | Right argument should be equal to left (==?) :: (Eq a, Show a) => a -> a -> Result -- | Right argument should not equal to left (/=?) :: (Eq a, Show a) => a -> a -> Result -- | Left argument should not equal to right (?/=) :: (Eq a, Show a) => a -> a -> Result -- | Right argument is less then left (>?) :: (Show a, Ord a) => a -> a -> Result -- | Right argument is greater than left () :: (Show a, Ord a) => a -> a -> Result -- | Left argument is greater than right (?>) :: (Show a, Ord a) => a -> a -> Result -- | Left argument is less then right (?<) :: (Show a, Ord a) => a -> a -> Result -- | Right argument is less or equal to left (>=?) :: (Show a, Ord a) => a -> a -> Result -- | Right argument is greater or equal to left (<=?) :: (Show a, Ord a) => a -> a -> Result -- | Left argument is greater or equal to right (?>=) :: (Show a, Ord a) => a -> a -> Result -- | Left argument is less or equal to right (?<=) :: (Show a, Ord a) => a -> a -> Result -- | Right value is almost equal to left (~==?) :: (AEq a, Show a) => a -> a -> Result -- | Left value is almost equal to right (?~==) :: (AEq a, Show a) => a -> a -> Result -- | The result of a single test. data Result :: *