{- How to use: runghc testAddFact.hs -} import TestLib import ParserLib import AddFact (addsub, fact) import AddFactDef addsubMain = whitespaces *> addsub <* eof factMain = whitespaces *> fact <* eof tests = [ "addsub" ~: runParser addsubMain "7 - 4 + 5" ~?= Just (Add (Sub (NAS 7) (NAS 4)) (NAS 5)) , "4 ! !" ~: runParser factMain "4 ! !" ~?= Just (Factorial (Factorial (NF 4))) ] -- More tests when marking. main = testlibMain tests