public void Then_The_AccountFunds_Estimation_Applys_Etimated_Funds() { //Arrange _moqer.GetMock <IApplicationConfiguration>().Setup( x => x.FeatureExpiredFunds).Returns(true); _moqer.GetMock <IDateTimeService>() .Setup(x => x.GetCurrentDateTime()).Returns(new DateTime(DateTime.Now.Year, 1, 1)); var estimationProjection = new AccountEstimationProjection( _moqer.Resolve <Account>(), _moqer.Resolve <AccountEstimationProjectionCommitments>(), _moqer.Resolve <IDateTimeService>(), false); var expiredFunds = new Dictionary <CalendarPeriod, decimal>() { { new CalendarPeriod(DateTime.Now.Year, 2), 100m } }; //Act estimationProjection.BuildProjections(); estimationProjection.ApplyExpiredFunds(expiredFunds); //Assert var actual = estimationProjection.Projections.FirstOrDefault(c => c.Year == DateTime.Now.Year && c.Month == 2); Assert.IsNotNull(actual); Assert.AreEqual(expiredFunds.FirstOrDefault().Value, actual.AllModelledCosts.ExpiredFunds); }