hans-3.0.2: tests/Tests/Checksum.hs
module Tests.Checksum where
import Hans.Checksum (computeChecksum)
import Data.Serialize (runPut,putWord32be,putWord16be)
import Test.Tasty
import Test.Tasty.QuickCheck (testProperty)
import Test.QuickCheck
checksumTests :: TestTree
checksumTests = testGroup "Checksum"
[ testProperty "Word16" $
forAll arbitraryBoundedRandom $ \ w16 ->
computeChecksum (runPut (putWord16be w16)) === computeChecksum w16
, testProperty "Word32" $
forAll arbitraryBoundedRandom $ \ w32 ->
computeChecksum (runPut (putWord32be w32)) === computeChecksum w32
]