public void Simple_Addition()
        {
            const int expected = (3 + 5);

            var expression =
                new Addition(
                    new Number(3),
                    new Number(5));

            AssertExpression(expression, expected);
        }
        public void Test_Simple_Addition()
        {
            const string expected = "( 3 + 5 )";

            var expression =
                new Addition(
                    new Number(3),
                    new Number(5));

            AssertExpression(expression, expected);
        }
        public void Addition_And_Multiplication()
        {
            const int expected = (1 + (3 * 5));

            var expression =
                new Addition(
                    new Number(1),
                    new Multiplication(
                        new Number(3),
                        new Number(5)));

            AssertExpression(expression, expected);
        }
 public void VisitAddition(Addition expression)
 {
     VisitBinary("( {0} + {1} )");
 }
 public void VisitAddition(Addition expression)
 {
     VisitBinary(
         (left, right) => left + right);
 }
 public void VisitAddition(Addition expression)
 {
     VisitBinary("( {0} + {1} )");
 }