Example #1
0
        public async Task Get_Calcular_RetornaDouble()
        {
            var consultaJuros = new ConsultaJurosMock(0.01);
            ICalculoJurosComposto calculoJuro = new CalculoJurosComposto(consultaJuros, 200, 10);

            var valor = await calculoJuro.Calcular();

            Assert.Equal <double>(220.92, valor);
        }
Example #2
0
        public async Task Get_CalcularJuro_RetornaDouble()
        {
            double               taxa           = 0.53;
            double               valorInicial   = 200.7;
            int                  meses          = 10;
            JurosCompostos       jurosCompostos = new JurosCompostos(valorInicial, meses, taxa);
            var                  consultaJuros  = new ConsultaJurosMock(taxa);
            CalculoJurosComposto calculoJuro    = new CalculoJurosComposto(consultaJuros, valorInicial, meses);

            var valor = calculoJuro.CalcularJuroComposto(jurosCompostos);

            Assert.Equal <double>(14107.87, valor);
        }
Example #3
0
        public async Task Get_RetornarTaxaJuro_RetornaDouble()
        {
            double taxa                      = 0.53;
            double valorInicial              = 200.7;
            int    meses                     = 10;
            var    consultaJuros             = new ConsultaJurosMock(taxa);
            CalculoJurosComposto calculoJuro = new CalculoJurosComposto(consultaJuros, valorInicial, meses);

            JurosCompostos jurosCompostos = await calculoJuro.RetornarTaxaJuros();

            Assert.Equal <double>(valorInicial, jurosCompostos.ValorInicial);
            Assert.Equal <int>(meses, jurosCompostos.Meses);
            Assert.Equal <double>(taxa, jurosCompostos.TaxaJuros);
        }
Example #4
0
        public async Task <ActionResult> GetCalculaJuros([FromServices] IConsultaJuros consultaJuros, [FromQuery] double ValorInicial, int Meses)
        {
            try
            {
                if (ValorInicial <= 0 || Meses <= 0)
                {
                    return(BadRequest("Requisição com parâmetros inválidos. Esperado o seguinte formato: /calculajuros?valorinicial=100&meses=5"));
                }

                var calculoJurosComposto = new CalculoJurosComposto(consultaJuros, ValorInicial, Meses);

                var juros = await calculoJurosComposto.Calcular();

                return(Ok(string.Format("{0:0,0.00}", juros)));
            }
            catch (Exception ex) {
                Console.WriteLine("-----------Começa EXCEÇÃO------------");
                Console.WriteLine(ex.GetType().FullName);
                Console.WriteLine(ex.ToString());
                Console.WriteLine("-----------Termina EXCEÇÃO------------");
                return(StatusCode(StatusCodes.Status500InternalServerError, "Erro ao calcular juros."));
            }
        }