示例#1
0
        public void TestSoma2()
        {
            var e1 = new ExpressaoNumerica(2d);
            var e2 = new ExpressaoNumerica(3d);

            var expressao = new Expressao(e1, Operador.Soma, e2);

            Assert.AreEqual(5, expressao.Avaliar());
        }
示例#2
0
        public void TestMultiplasExpressoes()
        {
            // -2 + 3 * (10 -1 + (2x1))
            IExpressao doisVezesUm                 = new Expressao(new ExpressaoNumerica(2), Operador.Multiplicacao, new ExpressaoNumerica(1));
            IExpressao dezMenosUm                  = new Expressao(new ExpressaoNumerica(10), Operador.Subtracao, new ExpressaoNumerica(1));
            IExpressao expParenteses               = new Expressao(dezMenosUm, Operador.Soma, doisVezesUm);
            IExpressao tresVezesParentes           = new Expressao(new ExpressaoNumerica(3), Operador.Multiplicacao, expParenteses);
            IExpressao menosDoisMaisTresParenteses = new Expressao(new ExpressaoNumerica(-2), Operador.Soma, tresVezesParentes);
            var        resultado = menosDoisMaisTresParenteses.Avaliar();

            Assert.AreEqual(31, resultado);
        }
示例#3
0
        public void TestMultiplasSomas()
        {
            // 2 + 3 + 2
            var        expNo1            = new ExpressaoNumerica(2);
            var        expNo2            = new ExpressaoNumerica(3);
            IExpressao expressaoEsquerda = new Expressao(expNo1, Operador.Soma, expNo2);
            var        expNo3            = new ExpressaoNumerica(2);

            var expRaiz   = new Expressao(expressaoEsquerda, Operador.Soma, expNo3);
            var resultado = expRaiz.Avaliar();

            Assert.AreEqual(7, resultado);
        }
示例#4
0
        public void TestDivisao()
        {
            var expressao = new Expressao(new ExpressaoNumerica(2d), Operador.Divisao, new ExpressaoNumerica(2d));

            Assert.AreEqual(1, expressao.Avaliar());
        }
示例#5
0
        public void TestMultiplicacao()
        {
            var expressao = new Expressao(new ExpressaoNumerica(2d), Operador.Multiplicacao, new ExpressaoNumerica(2d));

            Assert.AreEqual(4, expressao.Avaliar());
        }
示例#6
0
        public void TestSubtracao2()
        {
            var expressao = new Expressao(new ExpressaoNumerica(2d), Operador.Subtracao, new ExpressaoNumerica(2d));

            Assert.AreEqual(0, expressao.Avaliar());
        }
示例#7
0
        public void TestSoma()
        {
            var expressao = new Expressao(new ExpressaoNumerica(2d), Operador.Soma, new ExpressaoNumerica(2d));

            Assert.AreEqual(4, expressao.Avaliar());
        }