summaryrefslogtreecommitdiff
path: root/Unlambda/Test.hs
blob: 9c0024ce5791871da443d98189160357c7081a90 (plain)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
module Unlambda.Test (
    parserTests,
    tests
    ) where


import Test.HUnit
import Text.Parsec.Error
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 "@")



parserTests :: Test
parserTests = TestList [parser0, parser1, parser2, parser3, parser4, parser5, parser6, parser7, parser8
                       ,parser9, parser10, parser11, parser12]



tests :: Test
tests = parserTests