コード例 #1
0
 private CalculoJuros CalculoJaEfetuado(CalculoJurosDTO calculo)
 {
     return(Banco.SelecionarCalculos().FirstOrDefault(x =>
                                                      x.Meses == calculo.Meses &&
                                                      x.TaxaJuros.TaxaJurosMensal == calculo.TaxaJurosDTO.TaxaJuros &&
                                                      x.ValorInicial == calculo.ValorInicial));
 }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
        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());
        }
コード例 #6
0
        public string ObterValorCalculado(CalculoJurosDTO calculoDTO)
        {
            CalculoJuros calculo = CalculoJaEfetuado(calculoDTO);

            return(calculo == null?RealizaCalculo(calculoDTO) : calculo.ValorCalculadoFormatado);
        }