Example #1
0
        public void AddExpenseReturns_CorrectYears()
        {
            var client = new Client
            {
                currentAge               = 47,
                targetRetirementAge      = 65,
                netWorth                 = 500000,
                desiredMonthlySpending   = 2500,
                yearlySavingContribution = 22000,
                yearlyExpenses           = 55000
            };

            var educationExpense = new EducationExpense
            {
                numberofYears = 5,
                amount        = 10000
            };

            int yearsToRetirement = client.targetRetirementAge - client.currentAge;

            double netWorthAtRetirement = client.netWorth + (client.yearlySavingContribution * yearsToRetirement) - educationExpense.totalExpense();

            int expected = (int)(netWorthAtRetirement / (client.desiredMonthlySpending * 12));

            var calculator = new Calculator();
            var output     = calculator.RetirementYears(client, educationExpense);

            Assert.That(output, Is.EqualTo(expected));
        }
Example #2
0
        public void RetireWithEducationExpenses()
        {
            var client = new Client
            {
                currentAge               = 55,
                targetRetirementAge      = 65,
                netWorth                 = 800000,
                desiredMonthlySpending   = 2000,
                yearlySavingContribution = 22000,
                yearlyExpenses           = 30000
            };
            EducationExpense educationExpense = new EducationExpense()
            {
                amount        = 25000,
                numberofYears = 4
            };
            var calculator = new Calculator(educationExpense);
            var output     = calculator.RetirementYears(client);
            var expected   = 26;

            Assert.AreEqual(expected, output);
        }
Example #3
0
        public void NotEnoughForRetirementReturns_Zero()
        {
            var client = new Client
            {
                currentAge               = 45,
                targetRetirementAge      = 65,
                netWorth                 = 65000,
                desiredMonthlySpending   = 3000,
                yearlySavingContribution = 7500,
                yearlyExpenses           = 50000
            };
            var educationExpense = new EducationExpense
            {
                amount        = 20000,
                numberofYears = 15,
            };
            var calculator = new Calculator(educationExpense);

            var actual   = calculator.RetirementYears(client);
            var expected = 0;

            Assert.AreEqual(expected, actual);
        }
Example #4
0
        public void ComplicatedClientReturns_CorrectYears()// client with educational expense to be paid off before retirement
        {
            var client = new Client
            {
                currentAge               = 30,
                targetRetirementAge      = 65,
                netWorth                 = 95000,
                desiredMonthlySpending   = 2500,
                yearlySavingContribution = 8000,
                yearlyExpenses           = 40000
            };
            var educationExpense = new EducationExpense
            {
                amount        = 10000,
                numberofYears = 10,
            };
            var calculator = new Calculator(educationExpense);

            var actual   = calculator.RetirementYears(client);
            var expected = 4;

            Assert.AreEqual(expected, actual);
        }