summaryrefslogtreecommitdiff
path: root/Unlambda/Test.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Unlambda/Test.hs')
-rw-r--r--Unlambda/Test.hs103
1 files changed, 0 insertions, 103 deletions
diff --git a/Unlambda/Test.hs b/Unlambda/Test.hs
deleted file mode 100644
index f049b59..0000000
--- a/Unlambda/Test.hs
+++ /dev/null
@@ -1,103 +0,0 @@
-module Unlambda.Test (
- parserTests,
- interpreterTests,
- tests,
- ioTests
- ) where
-
-
-import Test.HUnit
-import Text.Parsec.Error
-import Control.Monad
-import System.IO.Silently
-import Unlambda.Types
-import Unlambda.Parser
-import Unlambda.Interpreter
-
-
-instance Eq Text.Parsec.Error.ParseError
-
-
-
-
-parser0 = (Right S) ~=? (parseUnlambda "s")
-
-parser1 = (Right K) ~=? (parseUnlambda "k")
-
-parser2 = (Right I) ~=? (parseUnlambda "i")
-
-parser3 = (Right V) ~=? (parseUnlambda "v")
-
-parser4 = (Right R) ~=? (parseUnlambda "r")
-
-parser5 = (Right D) ~=? (parseUnlambda "d")
-
-parser6 = (Right C) ~=? (parseUnlambda "c")
-
-parser7 = (Right E) ~=? (parseUnlambda "e")
-
-parser8 = (Right (App S K)) ~=? (parseUnlambda "`sk")
-
-parser9 = (Right (Dot 'c')) ~=? (parseUnlambda ".c")
-
-parser10 = (Right (Compare '?')) ~=? (parseUnlambda "??")
-
-parser11 = (Right Bar) ~=? (parseUnlambda "|")
-
-parser12 = (Right Reed) ~=? (parseUnlambda "@")
-
-
-
-interpretString :: String -> IO (Maybe (String,UnlambdaTerm))
-interpretString input =
- let t = parseUnlambda input
- in case t of
- Left _ -> return Nothing
- Right term -> do
- c <- capture (unlambda term)
- return (Just c)
-
-
-
-interpreter0 = (liftM2 (~=?))
- (return (Just ("\n", R)) )
- (interpretString "``cir")
-
-interpreter1 = (liftM2 (~=?))
- (return (Just ("", I)) )
- (interpretString "`c``s`kr``si`ki")
-
-interpreter2 = (liftM2 (~=?))
- (return (Just ("", Promise (App R I))) )
- (interpretString "`d`ri")
-
-interpreter3 = (liftM2 (~=?))
- (return (Just ("\n", Promise I)) )
- (interpretString "``dd`ri")
-
-
-
-parserTests :: Test
-parserTests = TestList [parser0, parser1, parser2, parser3, parser4, parser5, parser6, parser7, parser8
- ,parser9, parser10, parser11, parser12]
-
-
-
-interpreterTests :: IO Test
-interpreterTests = do
- t0 <- interpreter0
- t1 <- interpreter1
- t2 <- interpreter2
- t3 <- interpreter3
- return (TestList [t0,t1,t2,t3])
-
-
-
-tests :: Test
-tests = parserTests
-
-
-
-ioTests :: IO Test
-ioTests = interpreterTests
-