Skip to content

Commit 89a2d4e

Browse files
committed
tests for HashSetUtils
1 parent bb51575 commit 89a2d4e

File tree

2 files changed

+35
-5
lines changed

2 files changed

+35
-5
lines changed

test/HashSetUtilsSpec.hs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
module HashSetUtilsSpec (hashSetTestCases) where
2+
3+
import qualified Data.HashMap.Strict as HM
4+
import Data.HashSet
5+
import HashSetUtils
6+
import Test.HUnit
7+
8+
testMaybeNesEmptyHashSet :: Test
9+
testMaybeNesEmptyHashSet = TestCase $ assertEqual "maybeNes empty HashSet" Nothing (maybeNes (empty :: HashSet Int))
10+
11+
testMaybeNesNonEmptyHashSet :: Test
12+
testMaybeNesNonEmptyHashSet = TestCase $ assertEqual "maybeNes non-empty HashSet" (Just $ (fromList [1, 2, 3] :: HashSet Int)) (maybeNes $ fromList [1, 2, 3])
13+
14+
fromHashMapTest :: Test
15+
fromHashMapTest = TestCase $ assertEqual "fromHashMap" (fromList [(1, "a"), (2, "b"), (3, "c")] :: HashSet (Int, String)) (fromHashMap $ HM.fromList [(1, "a"), (2, "b"), (3, "c")])
16+
17+
hashSetTestCases :: Test
18+
hashSetTestCases =
19+
TestList
20+
[ testMaybeNesEmptyHashSet,
21+
testMaybeNesNonEmptyHashSet,
22+
fromHashMapTest
23+
]

test/Spec.hs

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
1+
import HashSetUtilsSpec
12
import SequenceUtilsSpec
23
import Test.HUnit
3-
import System.Exit (exitFailure, exitSuccess)
4+
import System.Exit (exitFailure)
5+
6+
processCounts :: Counts -> IO ()
7+
processCounts counts = do
8+
if errors counts + failures counts == 0
9+
then return ()
10+
else exitFailure
411

512
main :: IO ()
613
main = do
7-
counts <- runTestTT seqTestCases
8-
if errors counts + failures counts == 0
9-
then exitSuccess
10-
else exitFailure
14+
hsCounts <- runTestTT hashSetTestCases
15+
processCounts hsCounts
16+
seqCounts <- runTestTT seqTestCases
17+
processCounts seqCounts

0 commit comments

Comments
 (0)