public void GetAllAmortizationScheduleAsync() { #region Arrange var request = new AmortizationScheduleRequestDto { AmortizationSchedule = new AmortizationScheduleEntiti() { LoanAmount = (decimal)41990.00, AnnualInterest = (decimal)8.25, NumberPayments = 24, Method = MethodTypeEnum.French } }; var dependenceInjection = new Mock <IAmortizationScheduleService>(); dependenceInjection.Setup(method => method.GetAmortizationScheduleAsync(1)).ReturnsAsync(new AmortizationScheduleEntiti()); #endregion Arrange #region Act var response = new AmortizationScheduleDomain(dependenceInjection.Object, request.AmortizationSchedule.Method).GetAmortizationSchedule(request); #endregion Act #region Assert Assert.IsNotNull(response.AmortizationSchedule); Assert.IsTrue(response.AmortizationSchedule.PeriodsList.Count == request.AmortizationSchedule.NumberPayments); //Assert.IsTrue(response.TotalAmount == (decimal)100032.343); #endregion Assert }
public void CalculateGermanyWithOneMillionLoanAmountOK() { #region Arrange var request = new AmortizationScheduleRequestDto { AmortizationSchedule = new AmortizationScheduleEntiti() { LoanAmount = (decimal)1000000.00, AnnualInterest = (decimal)12, NumberPayments = 24, Method = MethodTypeEnum.Germany } }; #endregion Arrange var dependenceInjection = new Mock <IAmortizationScheduleService>(); dependenceInjection.Setup(method => method.GetAmortizationScheduleAsync(1)).ReturnsAsync(new AmortizationScheduleEntiti()); #region Act var response = new AmortizationScheduleDomain(dependenceInjection.Object, request.AmortizationSchedule.Method).GetAmortizationSchedule(request); #endregion Act #region Assert Assert.IsNotNull(response.AmortizationSchedule); #endregion Assert }
public void CalculateGermanyWithNegativeInteresFail() { #region Arrange var request = new AmortizationScheduleRequestDto { AmortizationSchedule = new AmortizationScheduleEntiti() { LoanAmount = (decimal)25000.00, AnnualInterest = (decimal) - 8.25, NumberPayments = 12, Method = MethodTypeEnum.Germany } }; #endregion Arrange #region Act var response = new AmortizationScheduleDomain(null, request.AmortizationSchedule.Method).GetAmortizationSchedule(request); #endregion Act #region Assert Assert.IsNull(response.AmortizationSchedule); #endregion Assert }
public IActionResult GetAmortizationSchedule([FromBody] AmortizationScheduleRequestDto request) { var response = new AmortizationScheduleDomain(amortizationScheduleService, request.AmortizationSchedule.Method).GetAmortizationSchedule(request); return(response.GetActionResult((uint)response.Status)); }