siphash-1.0.0: Tests/Tests.hs
{-# LANGUAGE ViewPatterns #-}
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Control.Applicative
import Control.Monad
import Test.Framework (Test, defaultMain, testGroup)
import Test.Framework.Providers.QuickCheck2 (testProperty)
import Test.QuickCheck
import Test.QuickCheck.Test
import Test.Framework.Providers.QuickCheck2 (testProperty)
import qualified Data.ByteString as B
import qualified Data.ByteString.Char8 as B
import Crypto.MAC.SipHash
assertEq expected got
| expected == got = True
| otherwise = error ("expected: " ++ show expected ++ " got: " ++ show got)
vectors =
[ ( SipKey 0x0706050403020100 0x0f0e0d0c0b0a0908
, "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e"
, SipHash 0xa129ca6149be45e5
)
]
katTests v = map (testProperty "kat" . makeTest) v
where makeTest (key,msg,tag) = assertEq tag $ hash key msg
tests =
[ testGroup "KAT" $ katTests vectors
]
main = defaultMain tests