Пример #1
0
        public void TestAstPrinter()
        {
            string result;

            using (StringWriter writer = new StringWriter())
                using (AstPrinter printer = new AstPrinter(writer))
                {
                    Expr expression = new Expr.Binary(
                        new Expr.Unary(
                            new Token(TokenType.MINUS, "-", null, 1),
                            new Expr.Literal(123)),
                        new Token(TokenType.STAR, "*", null, 1),
                        new Expr.Grouping(
                            new Expr.Literal(45.67)));
                    printer.Write(expression);
                    result = writer.ToString();
                }
            string expected = "(* (- 123) (group 45.67))";

            Assert.AreEqual(expected, result);
        }