testExpression :: Test
testExpression = TestList
  [ testEq "Parse complex expression"
           (LetExpr [("bar", constNum 1)]
                    (IfExpr
                      (UnaryOpExpr IsZero (VarExpr "bar"))
                      (constNum 3)
                      (VarExpr "zero")))
           "let bar = 1 in if zero? (bar) then 3 else zero"
  ]
testExpression :: Test
testExpression = TestList
  [ testEq "Parse complex expression"
           (LetExpr [("bar", constNum 1)]
                    (IfExpr
                      (UnaryOpExpr IsZero (VarExpr "bar"))
                      (constNum 3)
                      (VarExpr "zero")))
           "let bar = 1 in if zero? (bar) then 3 else zero"
  ]
testExpression = TestList
  [ testEq "Parse complex expression"
           (LetExpr [("bar", constNum 1)]
                    (IfExpr
                      (UnaryOpExpr IsZero (VarExpr "bar"))
                      (constNum 3)
                      (VarExpr "zero")))
           "let bar = 1 in if zero? (bar) then 3 else zero"
  ]