diff options
-rw-r--r-- | src/Grasp/Test.hs | 38 | ||||
-rw-r--r-- | src/test.hs | 4 |
2 files changed, 42 insertions, 0 deletions
diff --git a/src/Grasp/Test.hs b/src/Grasp/Test.hs new file mode 100644 index 0000000..ec45fb3 --- /dev/null +++ b/src/Grasp/Test.hs @@ -0,0 +1,38 @@ +module Grasp.Test ( + parserTests, + tests + ) where + + +import Test.HUnit +import Text.Parsec.Error +import Grasp.Parser + + +instance Eq Text.Parsec.Error.ParseError + + + + +isParseError :: Either a b -> Bool +isParseError (Left _) = True +isParseError (Right _) = False + + + +parser0 = TestCase (assertBool "" (isParseError (parseGrasp "")) ) + +parser1 = TestCase (assertBool "" (isParseError (parseGrasp "digraph {")) ) + +parser2 = TestCase (assertBool "" (isParseError (parseGrasp "digraph { }")) ) + + + +parserTests :: Test +parserTests = TestList [parser0, parser1, parser2] + + + +tests :: Test +tests = parserTests + diff --git a/src/test.hs b/src/test.hs index 5fc3533..1e75fb6 100644 --- a/src/test.hs +++ b/src/test.hs @@ -3,6 +3,7 @@ import Test.HUnit import qualified Fractran.Test import qualified Thue.Test import qualified Unlambda.Test +import qualified Grasp.Test @@ -27,3 +28,6 @@ main = do tests <- Unlambda.Test.interpreterTests runTestTT tests + putStrLn "\nGrasp Parser" + runTestTT Grasp.Test.parserTests + |