Add pattern unit tests.

This commit is contained in:
Robbie Gleichman 2016-12-14 01:10:18 -08:00
parent f2fd136ac9
commit ec0bf8adf7
2 changed files with 24 additions and 3 deletions

View File

@ -289,6 +289,20 @@ enumTests = TestList [
]
]
patternTests :: Test
patternTests = TestList[
-- TODO Remove branch icon
assertEqualSyntaxGraphs [
"y (F x) = x",
"y = (\\(F x) -> x)"
]
,
assertEqualSyntaxGraphs [
"y = let {F x y = 3} in x y",
"y = let {g = 3; F x y = g} in x y"
]
]
-- Yes, the commas get their own line
translateUnitTests :: Test
translateUnitTests = TestList [
@ -305,6 +319,7 @@ translateUnitTests = TestList [
, TestLabel "letTests" letTests
, TestLabel "negateTests" negateTests
, TestLabel "enumTests" enumTests
, TestLabel "patternTests" patternTests
]
allUnitTests :: Test

View File

@ -131,19 +131,25 @@ guardTests = [
patternTests :: [String]
patternTests = [
"Foo _ x = 3",
-- TODO Remove branch icon
"y (F x) = x",
"y = (\\(F x) -> x)",
"y = let {g = 3; F x y = h g} in x y",
"y = let {F x y = 3} in x y",
"y = let {g = 3; F x y = g} in x y",
"y = let F x y = g in x y",
"F x = g x",
"Foo (Bar x) (Baz y) = f 1 2 x y",
"Foo x y = f 1 y x",
-- TODO Fix so that "t" connects to the apply result, not the pattern.
"t@(x,y) = (x,y)",
"y = let {t@(_,_) = (3,4)} in t + 3",
"y = let {(x, y) = (1,2)} in x + y",
-- TODO: Fix so that lines between patterns are Pattern Color.
"y = let {(x, y) = (1,2); (z, w) = x; (m, g) = y} in foo x y z w m g",
"(x:y) = 2"
]