Esempio n. 1
0
        public void TestCreateScheduleSetupFee()
        {
            var nlModel = new NL_Model(1);

            DecorateNL_LoanNL_LoanHistory(nlModel);
            DecorateNL_Offers(nlModel, NLFeeTypes.SetupFee);

            ExcelCalculator excelCalculator = new ExcelCalculator(nlModel);

            excelCalculator.CreateSchedule();

            var legacyLoanCalculator = new LegacyLoanCalculator(nlModel, DateTime.UtcNow);

            legacyLoanCalculator.CreateSchedule();

            Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(nlModel.Loan.LastHistory().Schedule.Count == 3);

            var nlLoanSchedule = nlModel.Loan.LastHistory().Schedule.FirstOrDefault(x => x.Position == 1);

            Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(nlLoanSchedule != null &&
                                                                       nlLoanSchedule.Principal == 333 &&
                                                                       nlLoanSchedule.Balance == 999 &&
                                                                       nlLoanSchedule.InterestRate == 2 &&
                                                                       nlLoanSchedule.PlannedDate == new DateTime(2015, 2, 15));

            nlLoanSchedule = nlModel.Loan.LastHistory().Schedule.FirstOrDefault(x => x.Position == 2);
            Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(nlLoanSchedule != null &&
                                                                       nlLoanSchedule.Principal == 333 &&
                                                                       nlLoanSchedule.Balance == 666 &&
                                                                       nlLoanSchedule.InterestRate == 2 &&
                                                                       nlLoanSchedule.PlannedDate == new DateTime(2015, 3, 15));

            nlLoanSchedule = nlModel.Loan.LastHistory().Schedule.FirstOrDefault(x => x.Position == 3);
            Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(nlLoanSchedule != null &&
                                                                       nlLoanSchedule.Principal == 333 &&
                                                                       nlLoanSchedule.Balance == 333 &&
                                                                       nlLoanSchedule.InterestRate == 2 &&
                                                                       nlLoanSchedule.PlannedDate == new DateTime(2015, 4, 15));
        }