snap-server-0.2.8: test/suite/Data/HashMap/Concurrent/Tests.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE PackageImports #-}
module Data.HashMap.Concurrent.Tests
( tests ) where
import Data.List
import Test.Framework
import Test.Framework.Providers.QuickCheck2
import Test.QuickCheck
import Test.QuickCheck.Monadic
import qualified Data.HashMap.Concurrent as H
tests :: [Test]
tests = [ testFromTo ]
testFromTo :: Test
testFromTo = testProperty "HashMap/fromList/toList" $
monadicIO $ forAllM arbitrary prop
where
prop l = do
ht <- run $ H.fromList H.hashInt (l :: [(Int,Int)])
l' <- run $ H.toList ht
let s1 = sort l
let s2 = sort l'
assert $ s1 == s2