public void Test_AnyAdditionalPaymentsIsNotNull(double principle, double interestRate, double loanLengthInYears, double expected)
        {
            Loan loan = new Loan(principle, interestRate, loanLengthInYears);

            loan.AdditionalPayments = new System.Collections.Generic.List <AdditionalPayment>();

            OneTimePayment oneTimePayment = new OneTimePayment();

            loan.AdditionalPayments.Add(oneTimePayment);

            Assert.IsNotNull(loan.AdditionalPayments);
        }
        public void Test_OneTimePaymentHasCorrectInterestTotal(double principle, double interestRate, double loanLengthInYears, int months, double payment, double expected)
        {
            Loan loan = new Loan(principle, interestRate, loanLengthInYears);

            loan.AdditionalPayments = new System.Collections.Generic.List <AdditionalPayment>();

            OneTimePayment oneTimePayment = new OneTimePayment(DateTime.Now.AddMonths(months), payment);

            loan.AdditionalPayments.Add(oneTimePayment);

            loan.calculateAmmoritazation();
            double calculatedTotalInterest = loan.TotalInterest;

            Assert.That(calculatedTotalInterest, Is.EqualTo(expected).Within(.5));
        }