internal Calc<TariffProposalResult> AdvicedBankGaranteeAmount(ProductAgreement pa) { return Calc.Create(() => new TariffProposalResult { BankGaranteePercentage = CreditFee(), BankGaranteeOnObligoPercentage = CreditFeeOnObligo(), AdvicedBankGaranteePercentage = AdvicedCreditFeePercentage(), AdvicedBankGaranteeAmount = AdvicedCreditFeePercentage() * pa.ObligoAmount - pa.BankGaranteeCostsCorrectionAmount }); }
public void GetTariffProposalTest() { var calculator = new TariffProposalCalculator(); var pa = new ProductAgreement {ObligoAmount = 2}; var result = calculator.AdvicedBankGaranteeAmount(pa) & calculator.GetAdvicedCreditAmount(pa); result.Value.BankGaranteeOnObligoPercentage.Should().Be(2); result.Value.CreditFeeOnObligoPercentage.Should().Be(2); result.Value.AdvicedBankGaranteeAmount.Should().Be(6); result.Value.AdvicedCreditFeeAmount.Should().Be(5); }
internal Calc<TariffProposalResult> GetAdvicedCreditAmount(ProductAgreement pa) { return Calc.Create(() => new TariffProposalResult { CreditFeePercentage = CreditFee(), CreditFeeOnObligoPercentage = CreditFeeOnObligo(), AdvicedCreditFeePercentage = AdvicedCreditFeePercentage(), AdvicedCreditFeeAmount = IncludeAdvicedCreditFeeAmount() ? pa.ObligoAmount + AdvicedCreditFeePercentage() : (decimal?)null }); }