public void DeveResolverAExpressaoComDivisaoComValorNegativo() { ExpressaoMatematica = new ExpressaoNumerica(ExpressaoSoComDivisaoDeValorNegativo); var resultado = ExpressaoMatematica.Resolver(); Assert.IsTrue(String.Compare(resultado, "-> 10") == 0); }
public void DeveResolverAExpressaoComplexa() { ExpressaoMatematica = new ExpressaoNumerica(ExpressaoComplexa); var resultado = ExpressaoMatematica.Resolver(); Assert.IsTrue(String.Compare(resultado, "-> -16328") == 0); }
public void DeveResolverAExpressaoSoComParentesesSemEspaco() { ExpressaoMatematica = new ExpressaoNumerica(ExpressaoComParentesesSemEspaco); var resultado = ExpressaoMatematica.Resolver(); Assert.IsTrue(String.Compare(resultado, "-> 21") == 0); }
public void DeveResolverAExpressaoComMultiplosOperadoresNegativos() { ExpressaoMatematica = new ExpressaoNumerica(ExpressaoComMultiplosOperadoresNegativos); var resultado = ExpressaoMatematica.Resolver(); Assert.IsTrue(String.Compare(resultado, "-> 16172") == 0); }
public void DeveResolverAExpressaoComParentesesValorNegativo() { ExpressaoMatematica = new ExpressaoNumerica(ExpressaoComParentesesValorNegativo); var resultado = ExpressaoMatematica.Resolver(); Assert.IsTrue(String.Compare(resultado, "-> -16072") == 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()); }
public void DeveResolverAExpressaoEliminandoOsTresParentesesUmColcheteUmaChave() { ExpressaoMatematica = new ExpressaoNumerica(ExpressaoComTresParentesesUmColcheteUmaChave); Assert.IsTrue(String.Compare(ExpressaoMatematica.Parentese.Resolver(), "8116/{1+[3*540+3]*5}") == 0); ExpressaoMatematica.Colchete.AdicionarExpressao(ExpressaoMatematica.Parentese.Expressao.ToString()); Assert.IsTrue(String.Compare(ExpressaoMatematica.Colchete.Resolver(), "8116/{1+1623*5}") == 0); ExpressaoMatematica.Chave.AdicionarExpressao(ExpressaoMatematica.Colchete.Expressao.ToString()); Assert.IsTrue(String.Compare(ExpressaoMatematica.Chave.Resolver(), "8116/8116") == 0); var resultadoFinal = new OperacaoMatematica(ExpressaoMatematica.Chave.Expressao.ToString()); Assert.AreEqual(resultadoFinal.Calcular(), 1); }
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); }
public void DeveResolverAExpressaoEliminandoOsDoisParenteses() { ExpressaoMatematica = new ExpressaoNumerica(ExpressaoComDoisParenteses); Assert.IsTrue(String.Compare(ExpressaoMatematica.Parentese.Resolver(), "3*12") == 0); }
public void DeveRetirarOsEspacos() { ExpressaoMatematica = new ExpressaoNumerica(ExpressaoComParenteses); Assert.IsTrue(ExpressaoMatematica.RetirarEspacos(ExpressaoComParenteses) == ExpressaoComParentesesSemEspaco); }
public void DeveIdentificarSeTemAgrupador() { ExpressaoMatematica = new ExpressaoNumerica(ExpressaoComParenteses); ExpressaoMatematica.Parentese.AdicionarExpressao(ExpressaoComParenteses); Assert.IsTrue(ExpressaoMatematica.Parentese.TemAgrupador); }
public void DeveObterParenteseFechado() { ExpressaoMatematica = new ExpressaoNumerica(ExpressaoComParenteses); ExpressaoMatematica.Parentese.AdicionarExpressao(ExpressaoComParenteses); Assert.IsTrue(ExpressaoMatematica.Parentese.AgrupadorFechado == ")"); }