-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTestSuite.hs
30 lines (27 loc) · 844 Bytes
/
TestSuite.hs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
module Main (main) where
import Test.Hspec (Spec, describe, it)
import Test.HUnit (assertBool)
import Test.Hspec.Runner (hspecWith , defaultConfig, Config(..), configFilterPredicate)
import qualified BasicFunctions
import qualified Lists
import qualified Currification
import qualified BasicIO
import qualified ParserCombinators
import System.Environment (getArgs)
import Data.List (isInfixOf)
p :: String -> ([String], String) -> Bool
p a ([b], _) = a == b
p _ _ = False
main :: IO ()
main = do
args <- getArgs
let predFilter = case args of
(a : _) -> Just $ p a
_ -> Nothing
hspecWith (defaultConfig { configFastFail = True, configFilterPredicate = predFilter }) $ do
BasicFunctions.koans
Lists.koans
Currification.tests
BasicIO.tests
ParserCombinators.tests
return ()