checkers-0.2.2: src/Test/QuickCheck/Instances/Word.hs
module Test.QuickCheck.Instances.Word where
import Control.Applicative
import Test.QuickCheck
import Data.Word
instance Arbitrary Word64 where
arbitrary = fromInteger <$> arbitrary
instance CoArbitrary Word64 where
coarbitrary = variant . (fromIntegral :: Word64 -> Int)
instance Arbitrary Word32 where
arbitrary = fromInteger <$> arbitrary
instance CoArbitrary Word32 where
coarbitrary = variant . (fromIntegral :: Word32 -> Int)
instance Arbitrary Word16 where
arbitrary = fromInteger <$> arbitrary
instance CoArbitrary Word16 where
coarbitrary = variant . (fromIntegral :: Word16 -> Int)
instance Arbitrary Word8 where
arbitrary = fromInteger <$> arbitrary
instance CoArbitrary Word8 where
coarbitrary = variant . (fromIntegral :: Word8 -> Int)
instance Arbitrary Word where
arbitrary = fromInteger <$> arbitrary
instance CoArbitrary Word where
coarbitrary = variant . (fromIntegral :: Word -> Int)