sized-types-0.2.7.20101112: test/Test1.hs
module Main where
import Data.Sized.Ix
import Data.Sized.Matrix
import Test.QuickCheck as QC
import QC
import qualified Data.Sized.Sparse.Matrix as SM
import Control.Applicative
import Data.Sized.Arith
import Data.Array
-- Small first cut at tests.
main = do
quickCheck prop_mm1
quickCheck prop_fmap1
quickCheck prop_joins
putStrLn "[Done]"
prop_mm1 m1 m2 m3 = ((m1 `mm` m2) `mm` m3) == (m1 `mm` (m2 `mm` m3))
where
_types = (m1 :: Matrix (X3,X4) Int,
m2 :: Matrix (X4,X5) Int,
m3 :: Matrix (X5,X2) Int)
prop_fmap1 m1 = fmap (+1) m1 == forEach m1 (\ i a -> a + 1)
where
_types = (m1 :: Matrix (X9,X29) Int)
prop_joins m1 m2 m3 m4 = (m1 `above` m3) `beside` (m2 `above` m4)
== (m1 `beside` m2) `above` (m3 `beside` m4)
where _types = (m1 :: Matrix (X3,X4) Int,
m4 :: Matrix (X7,X5) Int)