33 lines
1.2 KiB
Haskell
33 lines
1.2 KiB
Haskell
{-# OPTIONS_GHC -fno-warn-orphans #-}
|
|
|
|
-- | Test code and properties for "Codec.Compression.Zlib.Internal"
|
|
--
|
|
module Test.Codec.Compression.Zlib.Internal where
|
|
|
|
import Codec.Compression.Zlib.Internal
|
|
import Test.Codec.Compression.Zlib.Stream ()
|
|
import Test.QuickCheck
|
|
|
|
import Control.Monad (ap)
|
|
|
|
|
|
instance Arbitrary CompressParams where
|
|
arbitrary = return CompressParams `ap` arbitrary `ap` arbitrary
|
|
`ap` arbitrary `ap` arbitrary
|
|
`ap` arbitrary `ap` arbitraryBufferSize
|
|
`ap` return Nothing
|
|
|
|
arbitraryBufferSize :: Gen Int
|
|
arbitraryBufferSize = frequency $ [(10, return n) | n <- [1..1024]] ++
|
|
[(20, return n) | n <- [1025..8192]] ++
|
|
[(40, return n) | n <- [8193..131072]] ++
|
|
[(1, return n) | n <- [131072..1048576]]
|
|
|
|
|
|
instance Arbitrary DecompressParams where
|
|
arbitrary = return DecompressParams `ap` arbitrary
|
|
`ap` arbitraryBufferSize
|
|
`ap` return Nothing
|
|
`ap` arbitrary
|
|
|