private CalculoJuros CalculoJaEfetuado(CalculoJurosDTO calculo) { return(Banco.SelecionarCalculos().FirstOrDefault(x => x.Meses == calculo.Meses && x.TaxaJuros.TaxaJurosMensal == calculo.TaxaJurosDTO.TaxaJuros && x.ValorInicial == calculo.ValorInicial)); }
public void ConstrutorDevePreencherPropriedadesCorretamente() { CalculoJurosDTO calculo = new CalculoJurosDTO(10, 8, new TaxaJurosDTO(0.5)); Assert.Equal(10, calculo.ValorInicial); Assert.Equal(8, calculo.Meses); Assert.NotNull(calculo.TaxaJurosDTO); Assert.Equal(0.5, calculo.TaxaJurosDTO.TaxaJuros); }
public void ConsigoCalcularValorTotal() { ITaxaJurosServico taxaServico = new TaxaJurosServico(); CalculoJurosDTO calculoDTO = new CalculoJurosDTO(100, 5, taxaServico.ObterTaxaJuros()); ICalculoJurosServico calculoServico = new CalculoJurosServico(); string valorJurosFormatado = calculoServico.ObterValorCalculado(calculoDTO); Assert.Equal("105,10", valorJurosFormatado); }
/// <summary> /// Realiza o Calculo e salva em memoria o processamento /// </summary> /// <param name="calculo">Passar o objeto preenchido com as informações recebidas pela API</param> /// <returns></returns> private string RealizaCalculo(CalculoJurosDTO calculo) { double valor = (calculo.ValorInicial * Math.Pow((1 + calculo.TaxaJurosDTO.TaxaJuros), calculo.Meses)); CalculoJuros calculoJuros = new CalculoJuros(calculo.ValorInicial, calculo.Meses, Banco.ObterTaxaJuros(), valor); Banco.IncluirCalculo(calculoJuros); return(calculoJuros.ValorCalculadoFormatado); }
public void SistemaIncluiuEUtilizouCalculoEmMemoria() { ITaxaJurosServico taxaServico = new TaxaJurosServico(); CalculoJurosDTO calculoDTO = new CalculoJurosDTO(100, 5, taxaServico.ObterTaxaJuros()); ICalculoJurosServico calculoServico = new CalculoJurosServico(); string valorJurosFormatado = calculoServico.ObterValorCalculado(calculoDTO); Assert.Equal("105,10", valorJurosFormatado); Assert.Single(Banco.SelecionarCalculos()); valorJurosFormatado = calculoServico.ObterValorCalculado(calculoDTO); Assert.Equal("105,10", valorJurosFormatado); Assert.Single(Banco.SelecionarCalculos()); }
public string ObterValorCalculado(CalculoJurosDTO calculoDTO) { CalculoJuros calculo = CalculoJaEfetuado(calculoDTO); return(calculo == null?RealizaCalculo(calculoDTO) : calculo.ValorCalculadoFormatado); }