示例#1
0
 public void SetUp()
 {
     informacoesCalculoJurosMock = Substitute.For <InformacoesCalculoJuros>();
     informacoesCalculoJurosMock.ValorInicial = 1350.577M;
     informacoesCalculoJurosMock.TempoEmMeses = -1;
     calculoJurosBusiness = new CalculoJuros();
 }
示例#2
0
        public decimal Calcular(InformacoesCalculoJuros informacoesCalculoJuros)
        {
            if (informacoesCalculoJuros == null)
            {
                throw new ArgumentNullException(nameof(informacoesCalculoJuros));
            }

            if (informacoesCalculoJuros.TempoEmMeses < 0)
            {
                throw new BusinessException("O tempo em meses não pode ser negativo!");
            }

            //Não foi usado a Math.Pow devido a precisão ser menor que a da extension MathPow criada.
            var potencia = informacoesCalculoJuros.TaxaJuros.MathPow(informacoesCalculoJuros.TempoEmMeses);

            var valorComJuros = informacoesCalculoJuros.ValorInicial * potencia;

            return(Math.Truncate(valorComJuros * 100) / 100);
        }