示例#1
0
        public void Calculo_ComTaxaJurosMenorOuIgualZero_DeveRetornarZero(decimal taxaJuros)
        {
            var calculaJuros = new CalcularJuros(VALID_VALOR_INICIAL, taxaJuros, VALID_TEMPO);

            var resultado = calculaJuros.Calcular();

            Assert.Equal(0, resultado);
        }
示例#2
0
        public void Calculo_ComTempoMenorOuIgualZero_DeveRetornarZero(int tempo)
        {
            var calculaJuros = new CalcularJuros(VALID_VALOR_INICIAL, VALID_TAXA_JUROS, tempo);

            var resultado = calculaJuros.Calcular();

            Assert.Equal(0, resultado);
        }
示例#3
0
        public void Calculo_ComValorMenorOuIgualZero_DeveRetornarZero(decimal valorInicial)
        {
            var calculaJuros = new CalcularJuros(valorInicial, VALID_TAXA_JUROS, VALID_TEMPO);

            var resultado = calculaJuros.Calcular();

            Assert.Equal(0, resultado);
        }
示例#4
0
        public void Calcular_ComValorInicial100TaxaDeJuros0Virgula01Tempo5_DeveRetornar105Virgula10()
        {
            var taxaDeJuros  = 0.01M;
            var valorInicial = 100M;
            var tempo        = 5;
            var esperado     = 105.10M;
            var calculaJuros = new CalcularJuros(valorInicial, taxaDeJuros, tempo);

            var resultado = calculaJuros.Calcular();

            Assert.Equal(esperado, resultado);
        }
示例#5
0
        public async Task <decimal> Calcular(decimal valorInicial, int tempo)
        {
            decimal juros;

            try
            {
                juros = await _taxaJurosService.GetTaxaJuros();
            }
            catch
            {
                throw new Exception("Não foi possível estabelecer conexão com o serviço TaxaJuros.");
            }
            var calculadora = new CalcularJuros(valorInicial, juros, tempo);

            if (!calculadora.IsValid())
            {
                throw new ArgumentException("Não foi possivel realizar o calculo de Juros, os valores devem ser maiores que zero.");
            }
            return(calculadora.Calcular());
        }