public void Somatorio_de_valores_monetarios_como_decimal(decimal valor1, decimal valor2, decimal valor3, decimal resultado) { var valores = new Collection <decimal>() { ValorMonetario.ToDecimal(new ValorMonetario(valor1)), ValorMonetario.ToDecimal(new ValorMonetario(valor2)), ValorMonetario.ToDecimal(new ValorMonetario(valor3)) }; valores.Sum().Should().Be(ValorMonetario.ToDecimal(new ValorMonetario(resultado))); }
public void Criar_contrato(ContratoData data) { var id = Guid.NewGuid(); var contrato = ContratoDeEmprestimoAggregate.CriarContrato( new ParametrosDeContratoDeEmprestimo { Id = id, ValorLiquido = data.ValorLiquido, QuantidadeDeParcelas = data.Prazo, TaxaAoMes = data.TaxaAoMes, Tac = data.Tac, Iof = data.Iof, DiasDeCarencia = data.DiasDeCarencia }); contrato.Id.Should().Be(id); contrato.TaxaAoDia.Should().BeEquivalentTo(new Percentual(data.TaxaAoDia)); contrato.ValorCarencia.Should().BeEquivalentTo(new ValorMonetario(data.ValorCarencia)); contrato.ValorFinanciado.Should().BeEquivalentTo(new ValorMonetario(data.ValorFinanciado)); ValorMonetario.ToDecimal(contrato.ValorDaParcela) .Should() .BeApproximately(data.ValorDaParcela, PRECISION); contrato.Parcelas.Should().HaveCount(data.Prazo); foreach (var parcela in contrato.Parcelas) { var parcelaExpected = data.Parcelas.Single(p => p.Numero == parcela.Numero); ValorMonetario.ToDecimal(parcela.SaldoDevedorInicial) .Should() .BeApproximately(ValorMonetario.ToDecimal(parcelaExpected.SaldoDevedorInicial), PRECISION); ValorMonetario.ToDecimal(parcela.Valor) .Should() .BeApproximately(ValorMonetario.ToDecimal(parcelaExpected.Valor), PRECISION); ValorMonetario.ToDecimal(parcela.Principal) .Should() .BeApproximately(ValorMonetario.ToDecimal(parcelaExpected.Principal), PRECISION); ValorMonetario.ToDecimal(parcela.Juros) .Should() .BeApproximately(ValorMonetario.ToDecimal(parcelaExpected.Juros), PRECISION); ValorMonetario.ToDecimal(parcela.SaldoDevedorFinal) .Should() .BeApproximately(ValorMonetario.ToDecimal(parcelaExpected.SaldoDevedorFinal), PRECISION); } }
public void Valor_monetario_para_decimal(decimal valor) { decimal valorMonetario = ValorMonetario.ToDecimal(ValorMonetario.FromDecimal(valor)); valorMonetario.Should().Be(valor); }