Exemplo n.º 1
0
        public async void CalculaJuros__ShouldReturnCorrectValue()
        {
            //Arrange
            var parms = new CalculaJurosDTO
            {
                Meses        = 5,
                ValorInicial = 100
            };

            _clientConnectionService.GetTaxaJuros().Returns(new TaxaJurosViewModel()
            {
                TaxaJuros = 0.01M
            });
            //Act
            var result = await _sut.CalculaJuros(parms);

            //Assert
            Assert.Equal("105,10", result.Valor);
        }
Exemplo n.º 2
0
        public async Task <CalculaJurosViewModel> CalculaJuros(CalculaJurosDTO calculaJurosDTO)
        {
            try
            {
                new CalculaJurosValidator().ValidateAndThrow(calculaJurosDTO);

                var fee = await _clientConnectionService.GetTaxaJuros();

                var rate  = 1D + (double)fee.TaxaJuros;
                var value = (double)calculaJurosDTO.ValorInicial.Value * Math.Pow((rate), calculaJurosDTO.Meses.Value);

                return(new CalculaJurosViewModel
                {
                    Valor = string.Format("{0:0.00}", (Math.Truncate(100 * value) / 100))
                });
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }