fix type printer tests

This commit is contained in:
Paul Chiusano 2023-07-21 04:18:29 -04:00
parent b5ad95cdd5
commit 9cbc3ada56

View File

@ -92,69 +92,64 @@ test =
tc "[a]",
tc "[a -> b]",
tc "[a ->{g} b]",
tc "'a",
tc "'Pair a a",
tc "a -> 'b",
tc "'(a -> b)",
tc_diff "'a" "'{} a",
tc_diff "'Pair a a" "'{} Pair a a",
tc_diff "a -> 'b" "a -> '{} b",
tc_diff "'(a -> b)" "'{} (a -> b)",
tc "(a -> b) -> c",
tc "'a -> b",
tc_diff "'a -> b" "'{} a -> b",
tc "∀ A. A -> A",
tc "∀ foo.A. foo.A -> foo.A",
tc "∀ A B. A -> B -> (A, B)",
tc "a -> 'b -> c",
tc_diff "a -> 'b -> c" "a -> '{} b -> c",
tc "a -> (b -> c) -> d",
tc "(a -> b) -> c -> d",
tc "((a -> b) -> c) -> d",
tc "(∀ a. 'a) -> ()",
tc "(∀ a. (∀ b. 'b) -> a) -> ()",
tc_diff "∀ a. 'a" $ "'a",
tc "a -> '(b -> c)",
tc_diff "(∀ a. 'a) -> ()" "(∀ a. '{} a) -> ()",
tc_diff "(∀ a. (∀ b. 'b) -> a) -> ()" "(∀ a. (∀ b. '{} b) -> a) -> ()",
tc_diff "∀ a. 'a" $ "'{} a",
tc_diff "a -> '(b -> c)" "a -> '{} (b -> c)",
tc "a -> b -> c -> d",
tc "a -> 'Pair b c",
tc "a -> b -> 'c",
tc "a ->{e} 'b",
tc_diff "a -> 'Pair b c" "a -> '{} Pair b c",
tc_diff "a -> b -> 'c" "a -> b -> '{} c",
tc_diff "a ->{e} 'b" "a ->{e} '{} b",
tc "a -> '{e} b",
tc "a -> '{e} b -> c",
tc "a -> '{e} b ->{f} c",
tc "a -> '{e} (b -> c)",
tc "a -> '{e} (b ->{f} c)",
tc "a -> 'b",
tc "a -> '('b)",
tc "a -> '('(b -> c))",
tc "a -> '('('(b -> c)))",
tc "a -> '{e} ('('(b -> c)))",
tc "a -> '('{e} ('(b -> c)))",
tc "a -> '('('{e} (b -> c)))",
tc "a -> 'b ->{f} c",
tc "a -> '(b -> c)",
tc "a -> '(b ->{f} c)",
tc "a -> '{e} ('b)",
tc_diff "a -> 'b" "a -> '{} b",
tc_diff "a -> '('b)" "a -> '{} ('{} b)",
tc_diff "a -> '('(b -> c))" "a -> '{} ('{} (b -> c))",
tc_diff "a -> '('('(b -> c)))" "a -> '{} ('{} ('{} (b -> c)))",
tc_diff "a -> '{e} ('('(b -> c)))" "a -> '{e} ('{} ('{} (b -> c)))",
tc_diff "a -> 'b ->{f} c" "a -> '{} b ->{f} c",
tc_diff "a -> '(b -> c)" "a -> '{} (b -> c)",
tc_diff "a -> '(b ->{f} c)" "a -> '{} (b ->{f} c)",
tc_diff "a -> '{e} ('b)" "a -> '{e} ('{} b)",
pending $ tc "a -> '{e} 'b", -- issue #249
pending $ tc "a -> '{e} '{f} b", -- issue #249
tc "a -> '{e} ('b)",
tc_diff "a -> () ->{e} () -> b -> c" $ "a -> '{e} ('(b -> c))",
tc "a -> '{e} ('(b -> c))",
tc_diff "a -> '{e} ('(b -> c))" "a -> '{e} ('{} (b -> c))",
tc_diff "a ->{e} () ->{f} b" $ "a ->{e} '{f} b",
tc "a ->{e} '{f} b",
tc_diff "a -> () ->{e} () ->{f} b" $ "a -> '{e} ('{f} b)",
tc "a -> '{e} ('{f} b)",
tc "a -> '{e} () ->{f} b",
tc "a -> '{e} ('{f} (b -> c))",
tc "a ->{e} '(b -> c)",
tc_diff "a ->{e} '(b -> c)" "a ->{e} '{} (b -> c)",
tc "a -> '{e} (b -> c)",
tc_diff "a -> () ->{e} () -> b" $ "a -> '{e} ('b)",
tc "'{e} a",
tc "'{e} (a -> b)",
tc "'{e} (a ->{f} b)",
tc "Pair a ('{e} b)",
tc "'(a -> 'a)",
tc "'()",
tc "'('a)",
tc_diff "''a" "'('a)",
tc_diff "'''a" "'('('a))",
tc_diff "'(a -> 'a)" "'{} (a -> '{} a)",
tc_diff "'()" "'{} ()",
tc_diff "'('a)" "'{} ('{} a)",
tc_diff "''a" "'{} ('{} a)",
tc_diff "'''a" "'{} ('{} ('{} a))",
tc_diff "∀ a . a" $ "a",
tc_diff "∀ a. a" $ "a",
tc_diff "∀ a . 'a" $ "'a",
tc_diff "∀ a . 'a" $ "'{} a",
pending $ tc_diff "∀a . a" $ "a", -- lexer doesn't accept, treats ∀a as one lexeme - feels like it should work
pending $ tc_diff "∀ A . 'A" $ "'A", -- 'unknown parse error' - should this be accepted?
tc_diff_rtt