Example #1
0
        public void Test_Constructor(int year, int month, int day, int expectedYear, int expectedMonth, int expectedDay)
        {
            var date        = new DateTime(year, month, day);
            var downpayment = 100.00M;

            var baseMortgage = new FixedRateMortgage(downpayment, 0.0314M, 300, date);
            var mortgage     = new InsuredMortgage(baseMortgage, 20.00M);

            Assert.That(mortgage.InitiatedAt.Year, Is.EqualTo(expectedYear));
            Assert.That(mortgage.InitiatedAt.Month, Is.EqualTo(expectedMonth));
            Assert.That(mortgage.InitiatedAt.Day, Is.EqualTo(expectedDay));
        }
Example #2
0
        public void Test_InsuranceValue(decimal downPaymentPercentage, decimal expected)
        {
            var purchasedAt           = new DateTime(2019, 1, 1);
            var homePrice             = 500000.00M;
            var downPayment           = downPaymentPercentage * homePrice;
            var mortgageAmount        = (1 - downPaymentPercentage) * homePrice;
            var preferredInterestRate = 0.0319M;

            var baseMortgage = new FixedRateMortgage(mortgageAmount, preferredInterestRate, 300, purchasedAt);
            var subject      = new InsuredMortgage(baseMortgage, downPayment);

            Assert.That(
                subject.Insurance,
                Is.EqualTo(expected).Within(15.00M).Percent
                );
        }