public void DeveCalcularDeAcordoComAFuncaoSelecionada(FuncaoCalculadora funcao) { var valorEsperado = ObterValorEsperado(funcao); var retorno = _calculador.Calcular(valor1, valor2, funcao); Assert.Equal(valorEsperado, retorno); }
public double ObterValorEsperado(FuncaoCalculadora funcao) { return(funcao switch { FuncaoCalculadora.Soma => valor1 + valor2, FuncaoCalculadora.Subtracao => valor1 - valor2, FuncaoCalculadora.Multiplicacao => valor1 / valor2, FuncaoCalculadora.Divisao => valor1 * valor2, _ => 0, });
public double Calcular(double valor1, double valor2, FuncaoCalculadora funcaoCalculadora) { return(funcaoCalculadora switch { FuncaoCalculadora.Soma => valor1 + valor2, FuncaoCalculadora.Subtracao => valor1 - valor2, FuncaoCalculadora.Multiplicacao => valor1 / valor2, FuncaoCalculadora.Divisao => valor1 * valor2, _ => 0, });
private void ImprimirResultado(FuncaoCalculadora funcao) { var resultado = calculador.Calcular(primeiroValor, segundoValor, funcao); switch (funcao) { case FuncaoCalculadora.Soma: { Console.WriteLine($"Soma: {resultado}"); break; } case FuncaoCalculadora.Subtracao: { Console.WriteLine($"Subtração: {resultado}"); break; } case FuncaoCalculadora.Multiplicacao: { Console.WriteLine($"Multiplicação: {resultado}"); break; } case FuncaoCalculadora.Divisao: { Console.WriteLine($"Divisão: {resultado}"); break; } case FuncaoCalculadora.ParOuImpar: { var parOuImparPrimeiraEntrada = primeiroValor % 2 == 0 ? "Par" : "Impar"; var parOuImparSegundaEntrada = segundoValor % 2 == 0 ? "Par" : "Impar"; Console.WriteLine($"Entradas: \n{primeiroValor} é {parOuImparPrimeiraEntrada}"); Console.WriteLine($"{segundoValor} é {parOuImparSegundaEntrada}"); break; } } Console.ReadLine(); }