public void ItShouldSetExecutionDateAfterRun()
        {
            var plan = new ForecastPlan <int> {
                CreationDate = DateTime.Today
            };
            var positions       = new List <IPosition>();
            var positionOpen    = new Mock <IPosition>();
            var positionActive1 = new Mock <IPosition>();
            var positionActive2 = new Mock <IPosition>();

            positionOpen.Setup(x => x.Status).Returns(HCPositionStatus.Open);
            positionOpen.Setup(x => x.HCType).Returns(new HCTypeDto {
                Code = "FTE"
            });
            positionOpen.Setup(x => x.Company).Returns(new CompanyDto {
                Code = "4001"
            });
            positionActive1.Setup(x => x.Status).Returns(HCPositionStatus.Active);
            positionActive1.Setup(x => x.HCType).Returns(new HCTypeDto {
                Code = "FTE"
            });
            positionActive1.Setup(x => x.Company).Returns(new CompanyDto {
                Code = "4003"
            });
            positionActive2.Setup(x => x.Status).Returns(HCPositionStatus.Active);
            positionActive2.Setup(x => x.HCType).Returns(new HCTypeDto {
                Code = "FTE"
            });
            positionActive2.Setup(x => x.Company).Returns(new CompanyDto {
                Code = "4001"
            });

            positions.Add(positionActive1.Object);
            positions.Add(positionActive2.Object);
            positions.Add(positionOpen.Object);
            plan.AddPositions(positions);

            var dataService = new Mock <IForecastDataAccessService>();

            dataService.Setup(x => x.GetPlan(1)).Returns(plan);
            //dataService.Setup(x => x.GetPositions(It.IsAny<DateTime>())).Returns(positions);
            var service = new ForecastService <int>(dataService.Object);

            service.LoadPlan(1);
            service.Run();
            Thread.Sleep(5000);
            Assert.AreEqual(DateTime.Today.Date, service.Plan.ExecutionDate.Value.Date);
        }