//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: public static void TesteCalcular() throws Exception public static void TesteCalcular() { try { // 2x^2 - 2 Polinomio pol = new Polinomio(); Expressao expressao = new Expressao(); pol.Expressao = expressao; Termo termo = new Termo(); expressao.addTermo(termo); termo.addElementos(new Elemento(Sinal.Positivo, 2, 1)); termo.addElementos(new Elemento(Sinal.Positivo, 'X', 2)); termo = new Termo(); expressao.addTermo(termo); termo.Sinal = Sinal.Negativo; termo.addElementos(new Elemento(Sinal.Positivo, 2, 1)); double result = 0; var mapa = new Dictionary<char, int>(); mapa['X'] = 1; result = pol.calcular(mapa); if (result != 0) { throw new Exception("Teste 1 falhou. Esperava '0', recebeu '" + result + "'"); } mapa['X'] = -5; result = pol.calcular(mapa); if (result != 48) { throw new Exception("Teste 2 falhou. Esperava '48', recebeu '" + result + "'"); } mapa['X'] = 100; result = pol.calcular(mapa); if (result != 19998) { throw new Exception("Teste 3 falhou. Esperava '19998', recebeu '" + result + "'"); } mapa['X'] = 0; result = pol.calcular(mapa); if (result != -2) { throw new Exception("Teste 4 falhou. Esperava '-2', recebeu '" + result + "'"); } Console.WriteLine("Calculo terminou com sucesso!"); } catch (Exception ex) { throw new Exception("Teste de calculo falhou. " + ex.Message); } }
public virtual bool EhEquivalente(Polinomio pol) { // Verifica se possui a mesma quantidade de variáveis if (this.Variaveis.Count != pol.Variaveis.Count) { return false; } // Verifica se as variáveis são as mesmas foreach (KeyValuePair<char, int> entry in this.Variaveis.SetOfKeyValuePairs()) { if (!pol.Variaveis.ContainsKey(entry.Key)) { return false; } } int contador = 0; // Faz um teste substituindo as variáveis por números primos foreach (char item in Variaveis.Keys) { Variaveis[item] = PRIMOS[contador++]; } if (this.calcular(this.Variaveis) != pol.calcular(this.Variaveis)) { return false; } // Faz o mesmo teste com outros números primos foreach (char item in Variaveis.Keys) { Variaveis[item] = PRIMOS[contador++]; } if (this.calcular(this.Variaveis) != pol.calcular(this.Variaveis)) { return false; } // Faz o teste com tudo zero foreach (char item in Variaveis.Keys) { Variaveis[item] = 0; } if (this.calcular(this.Variaveis) != pol.calcular(this.Variaveis)) { return false; } // Faz o teste com primos negativos foreach (char item in Variaveis.Keys) { Variaveis[item] = -PRIMOS[contador++]; } if (this.calcular(this.Variaveis) != pol.calcular(this.Variaveis)) { return false; } return true; }