{-# LANGUAGE NoImplicitPrelude #-} module Test.Algebra.Additive where import qualified Algebra.Additive as A import Test.NumericPrelude.Utility (testUnit, ) import Test.QuickCheck (Testable, quickCheck, ) import qualified Test.HUnit as HUnit import NumericPrelude.Base as P import NumericPrelude.Numeric as NP test :: (Testable t) => ([Integer] -> t) -> IO () test = quickCheck tests :: HUnit.Test tests = HUnit.TestLabel "additive group" $ HUnit.TestList $ map testUnit $ testList testList :: [(String, IO ())] testList = ("sum1", test $ \ns n -> A.sum (n:ns) == A.sum1 (n:ns)) : ("sumNestedAssociative", test $ \ns -> A.sum ns == A.sumNestedAssociative ns) : ("sumNestedCommutative", test $ \ns -> A.sum ns == A.sumNestedCommutative ns) : []