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
        }
Пример #4
0
        public IActionResult GetAmortizationSchedule([FromBody] AmortizationScheduleRequestDto request)
        {
            var response = new AmortizationScheduleDomain(amortizationScheduleService, request.AmortizationSchedule.Method).GetAmortizationSchedule(request);

            return(response.GetActionResult((uint)response.Status));
        }