Current section
Files
Jump to
Current section
Files
tests/Test/Data/Monoid.phi
module Test.Data.Monoid where
import Test.QuickCheck (TestGroup(..), TestResult, quickCheck)
import Prelude
import Data.Monoid (mempty)
import Data.Ordering (Ordering(..))
propList :: [Int]->Bool
propList xs = (xs <> mempty) == (mempty <> xs) && (xs <> mempty) == xs
propUnit :: Bool
propUnit = ((unit <> mempty) == (mempty <> unit)) && (unit <> mempty) == unit
propOrdering1 :: Bool
propOrdering1 = (EQ <> mempty) == (mempty <> EQ) && (EQ <> mempty) == EQ
propOrdering2 :: Bool
propOrdering2 = (LT <> mempty) == (mempty <> LT) && (LT <> mempty) == LT
propOrdering3 :: Bool
propOrdering3 = (GT <> mempty) == (mempty <> GT) && (GT <> mempty) == GT
test :: TestGroup (Integer -> IO TestResult)
test = Exe [
quickCheck "list" propList
,quickCheck "unit" propUnit
,quickCheck "Ordering1" propOrdering1
,quickCheck "Ordering2" propOrdering2
,quickCheck "Ordering3" propOrdering3
]