blob: 7b81228a79be0898b7244d996db6ead2b0dfd3f6 (
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
|
import Test.HUnit
import Text.Parsec.Error
import Thue.Parser
import Fractran.Parser
instance Eq Text.Parsec.Error.ParseError
fractranParser0 = TestCase (assertEqual ""
(Right (FractranProgram [] 2))
(parseFractran "2"))
fractranParser1 = TestCase (assertEqual ""
(Right (FractranProgram [] 2))
(parseFractran "2\n"))
fractranParser2 = TestCase (assertEqual ""
(Right (FractranProgram [] 2))
(parseFractran "\n2"))
fractranParser3 = TestCase (assertEqual ""
(Right (FractranProgram [(1,2)] 2))
(parseFractran "2 1/2"))
fractranParser4 = TestCase (assertEqual ""
(Right (FractranProgram [(2,3)] 3))
(parseFractran "3\n \n2/3\n"))
thueParser0 = TestCase (assertEqual ""
(Right (ThueProgram [ThueRule "a" "b"] "a"))
(parseThue "a::=b\n::=\na"))
main = do
putStrLn "Fractran Parser"
runTestTT $ TestList [fractranParser0, fractranParser1, fractranParser2, fractranParser3, fractranParser4]
putStrLn "\nThue Parser"
runTestTT $ TestList [thueParser0]
|