コード例 #1
0
        public double CalculaJuros(Juro juro)
        {
            juro.Validar();
            var valorFinal = juro.ValorFinal();

            return(valorFinal);
        }
コード例 #2
0
ファイル: LoanUpdate.cs プロジェクト: Llimaa/Livecred
 public void Validate()
 {
     new Contract()
     .Requires()
     .HasMinLen(Valor.ToString(), 100, "Valor", "Valor minimo para realizar um emprestimo é R$:100")
     .IsNotNullOrEmpty(Juro.ToString(), "Juro", "O campo juro não pode ficar em branco")
     .IsNotNullOrEmpty(Status.ToString(), "Status", "O campo status não pode ficar em branco");
 }
コード例 #3
0
 public JuroDto MapperEntityToDto(Juro juro)
 {
     return(new JuroDto
     {
         Tempo = juro.Tempo,
         ValorInicial = juro.ValorInicial,
         ValorJuros = juro.ValorJuros
     });
 }
コード例 #4
0
        public void Validar_Servico_Juro_Mes_Negativo_deve_Gerar_Excecao()
        {
            //Cenario
            _juro = JuroObjetoPadrao.MesesNegativo;

            //Ação
            Action act = () => _service.CalculaJuros(_juro);

            //Validação
            act.Should().Throw <MesesMaiorQueZeroException>().WithMessage("Valor de meses tem que ser maior que zero");
        }
コード例 #5
0
        public void Validar_Juro_TaxaNula_deve_Gerar_Excecao()
        {
            //Cenario
            _juro = JuroObjetoPadrao.TaxaNula;


            //Ação
            Action act = () => _service.CalculaJuros(_juro);

            //Validação
            act.Should().Throw <Exception>().WithMessage("Taxa não pode ser nula");
        }
コード例 #6
0
        public void Validar_Servico_Juro_ValorInicial_Negativo_deve_Gerar_Excecao()
        {
            //Cenario
            _juro = JuroObjetoPadrao.ValorInicialNegativo;


            //Ação
            Action act = () => _service.CalculaJuros(_juro);

            //Validação
            act.Should().Throw <ValorInicialNegativoExcecao>().WithMessage("Valor inicial não pode ser negativo");
        }
コード例 #7
0
        public void Quando_informar_ValorInicial_igual_a_zero_deve_retornar_zero(double valorInicial, int meses)
        {
            // arrange
            double taxaJuro = 0.01;
            var juro = new Juro(valorInicial, meses, taxaJuro);

            // act
            var valorCalculo = juro.CalcularJuroComposto();

            // assert
            Assert.Equal(0, valorCalculo);
        }
コード例 #8
0
        public void Quando_informar_ValorInicial_Meses_Invalidos(double valorInicial, int meses) 
        {
            // arrange
            double taxaJuro = 0.01;
            var juro = new Juro(valorInicial, meses, taxaJuro);

            // act
            var isValid = juro.IsValid();

            // assert
            Assert.False(isValid);
        }
コード例 #9
0
        private async Task <Juro> ConstroiJuros(double valorInicial, int meses)
        {
            var juro = new Juro()
            {
                Meses        = meses,
                ValorInicial = valorInicial
            };

            juro.Taxa = new Taxa()
            {
                Valor = await _requisicao.ObterTaxa()
            };
            return(juro);
        }
コード例 #10
0
        public async Task Execute(GetTaxaJurosInput input)
        {
            if (input is null)
            {
                this._outputPort.WriteError(Messages.InputIsNull);
                return;
            }

            // Aqui busca dados na camada de Infrastructure.
            // No entanto foi solicitado para retornar o valor fixo de 0.01 de Juros.

            Juro juro = new Juro(JURO);

            this.BuildOutput(juro);
        }
コード例 #11
0
        public void Validar_Juro_Deve_ser_Ok()
        {
            //Cenario
            _juro = JuroObjetoPadrao.Padrao;
            double valor      = 0;
            double valorFinal = 105.10;

            //Ação
            Action act = () => _juro.Validar();

            //Validação
            _juro.ValorInicial.Should().BeGreaterThan(valor);
            _juro.ValorFinal().Should().Be(valorFinal);

            act.Should().NotThrow <MesesMaiorQueZeroException>();
            act.Should().NotThrow <ValorInicialNegativoExcecao>();
        }
コード例 #12
0
        public void Validar_Servico_Juro_Deve_ser_Ok()
        {
            //Cenario
            _juro = JuroObjetoPadrao.Padrao;

            double valorFinal     = 105.10;
            double valorRetornado = 0;
            //Ação
            Action act = () => _service.CalculaJuros(_juro);

            valorRetornado = _service.CalculaJuros(_juro);
            //Validação

            valorRetornado.Should().Be(valorFinal);

            act.Should().NotThrow <MesesMaiorQueZeroException>();
            act.Should().NotThrow <ValorInicialNegativoExcecao>();
        }
コード例 #13
0
        public void GivenValidData_Handle_WritesOkObjectResult()
        {
            Juro juro = new Juro(0.01m);

            var output = new GetTaxaJurosOutput(juro);

            var presenter = new GetTaxaJurosPresenter();

            presenter.Standard(output);

            var actual = Assert.IsType <OkObjectResult>(presenter.ViewModel);

            Assert.Equal((int)HttpStatusCode.OK, actual.StatusCode);

            var actualValue = (GetTaxaJurosResponse)actual.Value;

            Assert.Equal(juro.ToDecimal(), actualValue.Juro);
        }
コード例 #14
0
        public ResultDTO ObterValorJuroComposto(double valorInicial, int meses)
        {
            var taxaJuroResult = _taxaJurotService.ObterTaxaJuro();
            var taxaJuro       = !string.IsNullOrEmpty(taxaJuroResult) ? Convert.ToDecimal(taxaJuroResult) : 0;
            var juro           = new Juro(valorInicial, meses, (double)taxaJuro);
            var resultDTO      = new ResultDTO();

            // Validar a entidade
            if (!juro.IsValid())
            {
                resultDTO.Failure(juro.ValidationResult);
            }
            else
            {
                resultDTO.Success(juro.CalcularJuroComposto());
            }

            return(resultDTO);
        }
コード例 #15
0
 public override void Initialize()
 {
     _taxa    = null;
     _juro    = null;
     _service = new JuroService();
 }
コード例 #16
0
        private void BuildOutput(Juro juro)
        {
            var output = new GetTaxaJurosOutput(juro);

            this._outputPort.Standard(output);
        }
コード例 #17
0
ファイル: ServicoJuro.cs プロジェクト: marcospfc/soft-teste
        public Juro GetJuro()
        {
            var calculo = Juro.Criar(0.01M);

            return(calculo);
        }
コード例 #18
0
 public override void Initialize()
 {
     _juro = null;
 }
コード例 #19
0
 public GetTaxaJurosOutput(Juro juro)
 {
     this.Juro = juro;
 }
コード例 #20
0
 public GetTaxaJurosResponse(Juro juro)
 {
     this.Juro = juro.ToDecimal();
 }