Ejemplo n.º 1
0
        public void TestMethodCalculator4()
        {
            // Arrange
            const String inputString = "Y * 10 * 2 / 4 * ( 1 + 2 + ( 3 + 3 ) + 1 ) - X";
            var          expected    = "Y * 50 - X";                                         // TO FIX

            // Act
            var cr = new ASTreeCreator(Parser.Parse(inputString));

            cr.BuildASTree();
            var root       = cr.Root;
            var calculator = new ASTreeCalculator(root);
            var actual     = calculator.GetSimplifiedExpressionInSingleString();

            //Assert
            Assert.AreEqual(expected, actual);
        }
Ejemplo n.º 2
0
        public void TestMethodCalculator1()
        {
            // Arrange
            const String inputString = "(a * (10 + 5)) / ((2 + 2) * 3) + b * (3 + 5) + 2 * 2";
            var          expected    = "a * 15 / 12 + b * 8 + 4";

            // Act
            var cr = new ASTreeCreator(Parser.Parse(inputString));

            cr.BuildASTree();
            var root       = cr.Root;
            var calculator = new ASTreeCalculator(root);
            var actual     = calculator.GetSimplifiedExpressionInSingleString();

            //Assert
            Assert.AreEqual(expected, actual);
        }
Ejemplo n.º 3
0
        public void TestMethodCalculator3()
        {
            // Arrange
            const string inputString = "x - (10 + 25) / 5 + ( 1 + 2) * b - q * 2";
            var          expected    = "x - 7 + 3 * b - q * 2";

            // Act
            var cr = new ASTreeCreator(Parser.Parse(inputString));

            cr.BuildASTree();
            var root       = cr.Root;
            var calculator = new ASTreeCalculator(root);
            var actual     = calculator.GetSimplifiedExpressionInSingleString();

            // Assert
            Assert.AreEqual(expected, actual);
        }
Ejemplo n.º 4
0
        public void TestMethodCalculator3()
        {
            // Arrange
            const string  inputString = "((1 + 1) + (1 * 100)) / 2";
            List <string> expected    = new List <string>()
            {
                "51"
            };

            // Act
            var cr = new ASTreeCreator(Parser.Parse(inputString));

            cr.BuildASTree();
            var root       = cr.Root;
            var calculator = new ASTreeCalculator(root);
            var actual     = calculator.GetSimplifiedExpression();

            // Assert
            CollectionAssert.AreEqual(expected, actual);
        }