summaryrefslogtreecommitdiff
path: root/Unlambda/Test.hs
blob: 7d1da1eb6ee9e2c6cf1600ca8eeee12b051af014 (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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
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 = TestCase (assertEqual ""
                                (Right S)
                                (parseUnlambda "s"))

parser1 = TestCase (assertEqual ""
                                (Right K)
                                (parseUnlambda "k"))

parser2 = TestCase (assertEqual ""
                                (Right I)
                                (parseUnlambda "i"))

parser3 = TestCase (assertEqual ""
                                (Right V)
                                (parseUnlambda "v"))

parser4 = TestCase (assertEqual ""
                                (Right R)
                                (parseUnlambda "r"))

parser5 = TestCase (assertEqual ""
                                (Right D)
                                (parseUnlambda "d"))

parser6 = TestCase (assertEqual ""
                                (Right C)
                                (parseUnlambda "c"))

parser7 = TestCase (assertEqual ""
                                (Right E)
                                (parseUnlambda "e"))

parser8 = TestCase (assertEqual ""
                                (Right (App S K))
                                (parseUnlambda "`sk"))

parser9 = TestCase (assertEqual ""
                                (Right (Dot 'c'))
                                (parseUnlambda ".c"))

parser10 = TestCase (assertEqual ""
                                (Right (Compare '?'))
                                (parseUnlambda "??"))

parser11 = TestCase (assertEqual ""
                                (Right Bar)
                                (parseUnlambda "|"))

parser12 = TestCase (assertEqual ""
                                (Right Reed)
                                (parseUnlambda "@"))



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



tests :: Test
tests = parserTests