3 * x")                 === (int 123 .* Var "x", [])
            , parserTestOK pExpr (lexer "123 + x * 5")             === (int 123 .+ (Var "x" .* int 5), [])
            , parserTestOK pExpr (lexer "if x > 0 then x else -x") === (If (Var "x" .> int 0) (Var "x") (neg (Var "x")), [])
            ]

testsStatement = [ parserTestOK pStatemen
testsExpr = [ parserTestOK pExpr (lexer "123 * x")                 === (int 123 .* Var "x", [])
            , parserTestOK pExpr (lexer "123 + x * 5")             === (int 123 .+ (Var "x" .* int 5), [])
            , parserTestOK pExpr (lexer "if x > 0 then x else -x") === (If (Var "x" .> int 0) (Var "x") (neg (Var "x")), [])
            ]
testsExpr = [ parserTestOK pExpr (lexer "123 * x")                 === (int 123 .* Var "x", [])
            , parserTestOK pExpr (lexer "123 + x * 5")             === (int 123 .+ (Var "x" .* int 5), [])
            , parserTestOK pExpr (lexer "if x > 0 then x else -x") === (If (Var "x" .> int 0) (Var "x") (neg (Var "x")), [])
            ]