コード例 #1
0
        public void Aplicar_percentual_value_from_decimal_multiply_operator(decimal valor, decimal percentual, decimal resultado)
        {
            var valueFromDecimal = Percentual.FromDecimal(valor);
            var res = Percentual.FromDecimal(percentual) * valueFromDecimal;

            res.Should().Be(resultado);
        }
コード例 #2
0
        public void Aplicar_percentual_value_from_decimal(decimal valor, decimal percentual, decimal resultado)
        {
            var valueFromDecimal = Percentual.FromDecimal(valor);

            Percentual.FromDecimal(percentual).Aplicar(valueFromDecimal)
            .Should().Be(resultado);
        }
コード例 #3
0
        public void Percentual_ConversaoImplicita_DeveTerSucesso()
        {
            //Arrange
            Result <Percentual> percentualResult = Percentual.Criar(12.25m);

            //Act
            decimal valor = percentualResult.Value;

            //Assert
            percentualResult.IsSuccess.ShouldBeTrue();
            percentualResult.Value.Valor.ShouldBe(valor);
        }
コード例 #4
0
        public void Somatorio_de_percentuais_como_decimal(decimal valor1, decimal valor2, decimal valor3, decimal resultado)
        {
            var valores =
                new Collection <decimal>()
            {
                Percentual.ToDecimal(new Percentual(valor1)),
                Percentual.ToDecimal(new Percentual(valor2)),
                Percentual.ToDecimal(new Percentual(valor3))
            };

            valores.Sum().Should().Be(Percentual.ToDecimal(new Percentual(resultado)));
        }
コード例 #5
0
        public void Percentual_ValorMaiorQueCem_DeveFalhar()
        {
            //Arrange
            decimal valor = 110.2m;

            //Act
            Result <Percentual> percentualResult = Percentual.Criar(valor);


            //Assert
            percentualResult.IsFailure.ShouldBeTrue();
            percentualResult.Error.ShouldContain(PercentualConstantes.PercentualNaoDeveSerMaiorQueCem);
        }
コード例 #6
0
        public void Percentual_ValoresValido_DeveTerSucesso(decimal valor)
        {
            //Arrange
            string  percentualNominal = $"{valor:N1} %";
            decimal percentualValor   = valor / 100;

            //Act
            Result <Percentual> percentualResult = Percentual.Criar(valor);


            //Assert
            percentualResult.IsSuccess.ShouldBeTrue();
            percentualResult.Value.ValorNominal.ShouldBe(percentualNominal);
            percentualResult.Value.Valor.ShouldBe(percentualValor);
        }
コード例 #7
0
        public async Task <Percentual> ConsultarTaxaAtualAsync()
        {
            var endpoint = _configuration.GetSection("TaxaApi:Url")?.Value;

            if (string.IsNullOrEmpty(endpoint))
            {
                throw new UrlApiNaoConfiguradaException();
            }

            endpoint += "/api/taxas/taxaJuros";

            var result = await endpoint.AllowHttpStatus("2xx")
                         .GetJsonAsync <RespostaTaxa>();

            if (result == null || result.Multiplicador <= 0)
            {
                throw new RespostaTaxaInvalidaException();
            }

            return(Percentual.WithMultiplicador(result.Multiplicador));
        }
コード例 #8
0
 protected override int GetHashCodeCore()
 {
     return(Percentual.GetHashCode());
 }
コード例 #9
0
        public CalculadoraJurosTest()
        {
            var taxaServiceMock = new Mock <ITaxaService>();

            taxaServiceMock.Setup(ts => ts.ConsultarTaxaAtualAsync()).Returns(Task.FromResult(Percentual.WithValor(1)));
            _taxaService = taxaServiceMock.Object;
        }
コード例 #10
0
 public void Aplicar_percentual(decimal valor, decimal percentual, decimal resultado)
 {
     Percentual.FromDecimal(percentual).Aplicar(valor)
     .Should().Be(resultado);
 }
コード例 #11
0
        public void Percentual_para_decimal(decimal valor)
        {
            decimal percentual = Percentual.ToDecimal(Percentual.FromDecimal(valor));

            percentual.Should().Be(valor);
        }
コード例 #12
0
        public void Criar_percentual_de_decimal_implicitamente(decimal valor)
        {
            Percentual percentual = valor;

            percentual.Should().BeEquivalentTo(new Percentual(valor));
        }
コード例 #13
0
        public void Criar_percentual_de_decimal(decimal valor)
        {
            var percentual = Percentual.FromDecimal(valor);

            percentual.Should().BeEquivalentTo(new Percentual(valor));
        }
コード例 #14
0
        public void Aplicar_percentual_value_from_int_multiply_operator(int valor, decimal percentual, decimal resultado)
        {
            var res = Percentual.FromDecimal(percentual) * Prazo.FromInt(valor);

            res.Should().Be(resultado);
        }
コード例 #15
0
        public void Aplicar_percentual_valor_int_multiply_operator(int valor, decimal percentual, decimal resultado)
        {
            var res = Percentual.FromDecimal(percentual) * valor;

            res.Should().Be(resultado);
        }
コード例 #16
0
 public SolicitacaoCalculoJuros(decimal valorInicial, int quantidadeMeses, Percentual percentual)
 {
     ValorInicial      = valorInicial;
     QuantidadeMeses   = quantidadeMeses;
     PercentualDeJuros = percentual;
 }