public void Calcular()
        {
            JurosService jurosService = new JurosService();
            decimal      valorFinal   = jurosService.Calcular(100, 5, 0.01m);

            Assert.Equal(105.10m, valorFinal);
        }
예제 #2
0
        public async Task ReturnCalculaJurosResult()
        {
            var service = new JurosService();
            var juros   = await service.CalculaJurosAsync(100, 5);

            Assert.Equal(105.10M, juros, 2);
        }
예제 #3
0
        public void ValidarJurosCompostos(double valor, int meses, double resultadoEsperado)
        {
            JurosService juros = new JurosService();

            double resultado = juros.CalcularJurosComposto(valor, meses);

            Assert.Equal(resultadoEsperado, resultado);
        }
        public async Task <ActionResult <IEnumerable <decimal> > > Get(decimal valorInicial, int meses)
        {
            var service      = new JurosService();
            var _taxaDeJuros = await RetornarTaxaJuros();

            var _valorTaxaDeJuros = StringToDecimal(_taxaDeJuros);

            return(Ok(service.CalcularJuros(valorInicial, _valorTaxaDeJuros, meses)));
        }
예제 #5
0
        public async Task Ao_Calcular_Juros_Para_Valor_Invalido_Gera_Excecao(decimal valorInicial, int quantidadeMeses)
        {
            var jurosService = new JurosService(_taxaService);

            await Assert.ThrowsAsync <ParametrosDeCalculoInvalidosException>(
                async() => {
                await jurosService.CorrigirValorAsync(valorInicial, quantidadeMeses);
            });
        }
예제 #6
0
        public void ObterTaxaJuros_DadoSolicitacaoDaTaxaDeJuros_DeveriaRetornarATaxaDeJurosEsperada()
        {
            // Arrange
            const double TAXA_JUROS_ESPERADA = 0.01;
            var          jurosService        = new JurosService();
            var          jurosController     = new JurosController(jurosService);

            // Act
            var taxaDeJuros = jurosController.ObterTaxaDeJuros().Result as OkObjectResult;

            // Assert
            Assert.Equal(TAXA_JUROS_ESPERADA, taxaDeJuros.Value);
        }
예제 #7
0
        public async Task Ao_Calcular_Juros_Para_100_E_5_Meses_Entao_Retorna_Valor_Atualizado_De_105e10()
        {
            var jurosService = new JurosService(_taxaService);

            var resultadoCalculo = await jurosService.CorrigirValorAsync(100, 5);

            Assert.NotNull(resultadoCalculo);
            Assert.NotNull(resultadoCalculo.DadosSolicitacao);
            Assert.NotNull(resultadoCalculo.DadosSolicitacao.PercentualDeJuros);

            Assert.Equal(1, resultadoCalculo.DadosSolicitacao.PercentualDeJuros.Valor);
            Assert.Equal(105.1m, resultadoCalculo.ValorFinal);
            Assert.Equal(5.1m, resultadoCalculo.JurosAPagar);
        }
예제 #8
0
        public void TestaMetodolcularMesesInalido()
        {
            List <ResponseModel> atual    = new List <ResponseModel>();
            List <ResponseModel> esperada = new List <ResponseModel>();

            var servico   = new JurosService();
            var resultado = servico.CalcularJuros(1, 0);

            atual.Add(resultado);

            ResponseModel saida = ResponseModel.Factory.Create(false, "", "Meses deve ser maior que zero.");

            esperada.Add(saida);

            esperada.Should().BeEquivalentTo(atual);
        }
예제 #9
0
        public void TestaMetodolcularJurosValido()
        {
            List <ResponseModel> atual    = new List <ResponseModel>();
            List <ResponseModel> esperada = new List <ResponseModel>();

            var servico   = new JurosService();
            var resultado = servico.CalcularJuros(1, 12);

            atual.Add(resultado);

            ResponseModel saida = ResponseModel.Factory.Create(true, "1,12", "");

            esperada.Add(saida);

            esperada.Should().BeEquivalentTo(atual);
        }
        public void CalcularJuros_ParametroValorIncialInvalido_GravarNotificacao()
        {
            Business.Models.Juros       juros = DataCreatorJuros.PreencherEntidadeComValorInicialInvalido();
            Task <Business.Models.Taxa> taxa  = DataCreatorJuros.PreencherTaxaComValorValido();

            LogicCreatorJuros Creator = new LogicCreatorJuros()
                                        .ComStubObterTaxaJurosAtual(taxa);

            JurosService Logic = Creator.Instanciar();

            var resultado = Logic.CalcularJuros(juros);

            Creator._taxaService.Verify(p => p.ObterTaxaJurosAtual(), Times.Once);
            Creator._notificacao.Verify(p => p.Handle(It.IsAny <Notificacao>()), Times.Once);

            Assert.True(resultado.Result == null);
        }
        public void CalcularJuros_ParametrosValidos_DeveCalcular()
        {
            Business.Models.Juros       juros = DataCreatorJuros.PreencherEntidadeComValoresValidos();
            Task <Business.Models.Taxa> taxa  = DataCreatorJuros.PreencherTaxaComValorValido();

            LogicCreatorJuros Creator = new LogicCreatorJuros()
                                        .ComStubObterTaxaJurosAtual(taxa);

            JurosService Logic = Creator.Instanciar();

            var resultado = Logic.CalcularJuros(juros);

            var valorFinal = juros.ValorInicial * Convert.ToDecimal(Math.Pow((Convert.ToDouble(taxa.Result.ValorTaxa) + 1), juros.Meses));

            Creator._taxaService.Verify(p => p.ObterTaxaJurosAtual(), Times.Once);
            Creator._notificacao.Verify(p => p.Handle(It.IsAny <Notificacao>()), Times.Never);

            Assert.False(resultado.Result == null);
            Assert.Equal(valorFinal, resultado.Result.ValorFinal);
        }
예제 #12
0
        public void TestCalculoJurosCase3()
        {
            var result = JurosService.CalculaJuros(0, 12);

            Assert.AreEqual(0M, result);
        }
예제 #13
0
        public void TestCalculoJurosCase2()
        {
            var result = JurosService.CalculaJuros(200, 12);

            Assert.AreEqual(225.37M, result);
        }
예제 #14
0
 public string GetCalculaJuros(decimal valorinicial, int meses)
 {
     return(JurosService.CalculaJuros(valorinicial, meses).ToString());
 }
예제 #15
0
 public void OneTimeSetUp()
 {
     _service = new JurosService();
 }
예제 #16
0
        public void TestCalculoJurosCase4()
        {
            var result = JurosService.CalculaJuros(500, 0);

            Assert.AreEqual(500M, result);
        }
예제 #17
0
        public void TestCalculoJuros()
        {
            var result = JurosService.CalculaJuros(100, 5);

            Assert.AreEqual(105.10M, result);
        }
예제 #18
0
        public ActionResult <string> Get([FromQuery] double valorinicial, [FromQuery] int meses)
        {
            JurosService jurosService = new JurosService();

            return(jurosService.CalcularJurosComposto(valorinicial, meses).ToString());
        }