-- $Header: c:/Source/Haskell/Wrapper/smallcheck/Data/Flex/Serial/SmallCheck/RCS/Wrap.hs,v 1.1 2011/09/21 00:14:44 dosuser Exp dosuser $ -- | SmallCheck tests for Data.Flex.Serial.Wrap module Data.Flex.Serial.SmallCheck.Wrap where import Test.SmallCheck import Data.Type.TList (TNil(..), (:*:)(..)) import Data.Flex.Wrap (flexiWrap) import Data.Flex.Serial.Wrap prop_defaultSeries_is_transparent i = wx ai == map w (x ai) where w = flexiWrap TNil x = series :: Series Int wx = series ai = abs i prop_defaultCoseries_is_transparent i x = f (w x) == f x where ai = abs i w = flexiWrap TNil f :: Serial a => a -> [Int] f y = map ($ y) $ coseries series ai types = x :: Char prop_transparentSeries_is_transparent i = wx ai == map w (x ai) where w = flexiWrap (FWTransparentSerial :*: TNil) x = series :: Series Char wx = series ai = abs i prop_transparentCoseries_is_transparent i x = f (w x) == f x where ai = abs i w = flexiWrap (FWTransparentSerial :*: TNil) f :: Serial a => a -> [Char] f y = map ($ y) $ coseries series ai types = x :: Int prop_explicitDefaultSeries_is_transparent i = wx ai == map w (x ai) where w = flexiWrap (FWDefaultSerial :*: TNil) x = series :: Series Char wx = series ai = abs i prop_explicitDefaultCoseries_is_transparent i x = f (w x) == f x where ai = abs i w = flexiWrap (FWDefaultSerial :*: TNil) f :: Serial a => a -> [Char] f y = map ($ y) $ coseries series ai types = x :: Int testSerial :: IO () testSerial = do smallCheck 2 prop_defaultSeries_is_transparent smallCheck 2 prop_defaultCoseries_is_transparent smallCheck 2 prop_transparentSeries_is_transparent smallCheck 2 prop_transparentCoseries_is_transparent smallCheck 2 prop_explicitDefaultSeries_is_transparent smallCheck 2 prop_explicitDefaultCoseries_is_transparent -- vim: expandtab:tabstop=4:shiftwidth=4