]> git.wincent.com - docvim.git/blob - tests/tasty.hs
Make unit tests a little more real
[docvim.git] / tests / tasty.hs
1 module Main (main) where
2
3 import Docvim.Parse (parseUnit)
4 import Test.Tasty
5 import Test.Tasty.HUnit
6
7 -- | Crude check to see if parse worked.
8 parseSuccess :: Either a b -> Bool
9 parseSuccess (Left _) = False
10 parseSuccess _        = True
11
12 parseFailure :: Either a b -> Bool
13 parseFailure = not . parseSuccess
14
15 suite :: TestTree
16 suite = testGroup "Test suite"
17   [ testGroup "Unit tests"
18     [ testCase "Parse empty unit" $ assert $ parseSuccess (parseUnit "")
19     , testCase "Bad input" $ assert $ parseFailure (parseUnit "bzzzzt")
20
21     -- Some example syntax:
22     -- , testCase "Equality" $ True @=? True
23     -- , testCase "Assertion" $ assert $ (length [1, 2, 3]) == 3
24     ]
25   ]
26
27 main :: IO ()
28 main = defaultMain suite