public async Task CalculaJuros_Meses_Zerado() { var request = new DtoJurosCompostoCalculaJurosRequest() { ValorInicial = 100 }; await service.CalculaJuros(request); }
public async Task CalculaJuros_Sucesso() { var request = new DtoJurosCompostoCalculaJurosRequest() { ValorInicial = 100, Meses = 5 }; var result = await service.CalculaJuros(request); Assert.IsTrue(result == 105.10M); }
public async Task<decimal> CalculaJuros(DtoJurosCompostoCalculaJurosRequest request) { //apenas para ter um await await Task.Run(() => { }); if (request.ValorInicial <= 0) { throw new ArgumentNullException("ValorInicial"); } if (request.Meses <= 0) { throw new ArgumentNullException("Meses"); } var valorFinal = request.ValorInicial * (decimal)Math.Pow(1.01D, request.Meses); return Math.Round(valorFinal, 2); }