public void ShouldReturnCorrectValueAfterOneYear()
        {
            // Arrange
            double principal    = 100000;
            double interestRate = .06d;
            int    timesPerYear = 1;
            double years        = 1;
            var    expeted      = 106000;

            // Act
            var actual = CompoundInterestCalculator.Calculate(principal, interestRate, timesPerYear, years);

            // Assert
            Assert.AreEqual(expeted, actual);
        }
        public void FutureBalance_1YearForward_ExpectsCorrectFutureBalance()
        {
            //Setup
            var      name    = "Savings Account 1";
            var      balance = 12.20m;
            var      expectedRateOfReturn  = 0.10m;
            var      contributionAmount    = 100m;
            DateTime targetDate            = DateTime.Now.AddYears(1);
            decimal  expectedFutureBalance = CompoundInterestCalculator.Calculate(balance, expectedRateOfReturn, 12,
                                                                                  CompoundInterestCalculator.FutureDateTimeToYears(targetDate), contributionAmount);

            //Test
            Account account = new Account(name, balance, expectedRateOfReturn, contributionAmount);

            //Assertion
            account.FutureBalance(targetDate).Should().Be(expectedFutureBalance);
        }