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); }