public void SwitchAtMidnightFalse() { ITimeSystem mockTime = NewMock <ITimeSystem>(); using (Ordered) { Expect.Once.On(mockTime).GetProperty("Now").Will(Return.Value(DateTime.Parse("2008-08-07 23:59:55"))); Expect.Once.On(mockTime).GetProperty("Now").Will(Return.Value(DateTime.Parse("2008-08-08 0:00:06"))); } ITimeLogsManager timeLogsManager = NewMock <ITimeLogsManager>(); ITimeLog timeLog1 = NewMock <ITimeLog>(); Expect.Once.On(timeLog1).Method("AddActivity").With(new Activities.Activity("first", DateTime.Parse("2008-08-07 23:59:55"), TimeSpan.Parse("0:00:11"))); Expect.Once.On(timeLogsManager).Method("ActivateTimeLog").With(DateTime.Parse("2008-08-07")); Stub.On(timeLogsManager).GetProperty("ActiveTimeLog").Will(Return.Value(timeLog1)); timeManager = new TimeManager(mockTime, timeLogsManager); var midnightCorrector = NewMock <IMidnightCorrector>(); timeManager.MidnightCorrector = midnightCorrector; Expect.Never.On(midnightCorrector).Method("PerformMidnightCorrection"); timeManager.SwitchAtMidnight = false; timeManager.FinishActivity("first", "second"); VerifyAllExpectationsHaveBeenMet(); }
public TaskTimeSummarizer(string taskName, DataTable table, ITimeLogsManager timeLogsManager, ITaskCollection taskCollection) { this.entityName = taskName; this.table = table; this.timeLogsManager = timeLogsManager; this.taskCollection = taskCollection; }
public HistoryDataProvider(ITimeLogsManager timeLogsManager, ITaskCollection taskCollection) { TimeLogsManager = timeLogsManager; TaskCollection = taskCollection; table = CreateTable(); ActivitiesHistory = new ActivitiesHistory(); }
public HistoryDataProvider(ITimeLogsManager timeLogsManager, ITaskCollection taskCollection) { TimeLogsManager = timeLogsManager; TaskCollection = taskCollection; table = CreateTable(); ActivitiesHistory = new ActivitiesHistory(); }
public TaskTimeSummarizer(string taskName, DataTable table, ITimeLogsManager timeLogsManager, ITaskCollection taskCollection) { this.entityName = taskName; this.table = table; this.timeLogsManager = timeLogsManager; this.taskCollection = taskCollection; }
public void SetUp() { ITimeSystem mockTime = NewMock <ITimeSystem>(); Stub.On(mockTime).GetProperty("Now").Will(Return.Value(startTime)); timeLogsManager = NewMock <ITimeLogsManager>(); timeLog = NewMock <ITimeLog>(); Stub.On(timeLogsManager).Method("ActivateTimeLog").Will(Return.Value(timeLog)); timeManager = new TimeManager(mockTime, timeLogsManager); }
public TimeManager(ITimeLogsManager timeLogsManager) { currentActivity = new RunningActivity(FIRST_ACTIVITY); midnightCorrector = new MidnightSwitcher(); if (timeLogsManager != null) { TimeLogsManager = timeLogsManager; timeLogsManager.ActivateTimeLog(currentActivity.Start.Date); } }
public TimeManager(ITimeSystem timeSystem, ITimeLogsManager timeLogsManager) { currentActivity = new RunningActivity(FIRST_ACTIVITY, timeSystem); midnightCorrector = new MidnightSwitcher(); if (timeLogsManager != null) { TimeLogsManager = timeLogsManager; timeLogsManager.ActivateTimeLog(currentActivity.Start.Date); } }
public void PerformMidnightCorrectionForTheSameDate() { ITimeLogsManager timeLogsManager = NewMock <ITimeLogsManager>(); Expect.Never.On(timeLogsManager).Method("ActivateTimeLog"); IActivity activity = NewMock <IActivity>(); Stub.On(activity).GetProperty("Start").Will(Return.Value(DateTime.Parse("2020-11-18 13:59:55"))); Stub.On(activity).GetProperty("End").Will(Return.Value(DateTime.Parse("2020-11-18 15:00:10"))); midnightSwitcher.PerformMidnightCorrection(activity, timeLogsManager); VerifyAllExpectationsHaveBeenMet(); }
/// <summary> /// Initialize all subsystems /// </summary> /// <param name="timeSystem"></param> /// <param name="settings"></param> public Driver(ITimeSystem timeSystem, ISettings settings) { //when reordering, be carefull, in order to pass only initialized objects this.fileManager = new FileManager(settings); this.languageSwitcher = new LanguageSwitcher(settings); //probably all of them should be properties, not fields, in order to automatically update referencies TaskCollection = LifeIdea.LazyCure.Core.Tasks.TaskCollection.Default; this.timeLogsManager = new TimeLogsManager(this.fileManager); HistoryDataProvider = new HistoryDataProvider(timeLogsManager, TaskCollection); this.timeManager = new TimeManager(timeSystem, TimeLogsManager); HistoryDataProvider.CreateSummaries(TimeManager.TimeLog); this.workingTime = new WorkingTimeForDay(TimeManager.TimeLog, TaskCollection); this.efficiencyCalculator = new EfficiencyCalculator(workingTime); ApplySettings(settings); }
public void PerformMidnightCorrectionWithGapBeetweenDates() { ITimeLogsManager timeLogsManager = NewMock <ITimeLogsManager>(); Stub.On(timeLogsManager).GetProperty("ActiveTimeLog"); Expect.Once.On(timeLogsManager).Method("ActivateTimeLog").With(DateTime.Parse("2020-10-10")).Will(Return.Value(null)); IActivity activity = NewMock <IActivity>(); Stub.On(activity).GetProperty("Start").Will(Return.Value(DateTime.Parse("2020-10-05 23:59:55"))); Stub.On(activity).GetProperty("End").Will(Return.Value(DateTime.Parse("2020-10-10 0:00:10"))); Stub.On(activity).SetProperty("Start"); Stub.On(activity).SetProperty("Duration"); midnightSwitcher.PerformMidnightCorrection(activity, timeLogsManager); VerifyAllExpectationsHaveBeenMet(); }
public void PerformMidnightCorrectionAddActivityToTimeLog() { ITimeLogsManager timeLogsManager = NewMock <ITimeLogsManager>(); ITimeLog timeLog = NewMock <ITimeLog>(); IActivity activity = NewMock <IActivity>(); Expect.Once.On(timeLog).Method("AddActivity").With(activity); Stub.On(timeLogsManager).GetProperty("ActiveTimeLog").Will(Return.Value(timeLog)); Stub.On(timeLogsManager).Method("ActivateTimeLog"); Stub.On(activity).GetProperty("Start").Will(Return.Value(DateTime.Parse("2008-08-07 23:59:55"))); Stub.On(activity).GetProperty("End").Will(Return.Value(DateTime.Parse("2008-08-08 0:00:10"))); Stub.On(activity).SetProperty("Start"); Stub.On(activity).SetProperty("Duration"); midnightSwitcher.PerformMidnightCorrection(activity, timeLogsManager); VerifyAllExpectationsHaveBeenMet(); }
public void PerformMidnightCorrection(IActivity currentActivity, ITimeLogsManager timeLogsManager) { DateTime endTime = currentActivity.End; DateTime midnightTime = endTime.Date; DateTime startTime = currentActivity.Start; if (startTime < midnightTime) { TimeSpan oldDayActivityDuration = midnightTime - startTime; TimeSpan newDayActivityDuration = endTime - midnightTime; currentActivity.Duration = oldDayActivityDuration; if (timeLogsManager != null) { ITimeLog timeLog = timeLogsManager.ActiveTimeLog; if (timeLog != null) timeLog.AddActivity(currentActivity); timeLogsManager.ActivateTimeLog(midnightTime); } currentActivity.Start = midnightTime; currentActivity.Duration = newDayActivityDuration; } }
public void FromDatePopupUsingLazyCureProviderOfAvailableDates() { ILazyCureDriver lcdriver = NewMock <ILazyCureDriver>(); Stub.On(lcdriver).GetProperty("WorkingTimeIntervalsData").Will(Return.Value(null)); Stub.On(lcdriver).GetProperty("PossibleWorkInterruptionDuration").Will(Return.Value(TimeSpan.Zero)); Stub.On(lcdriver).SetProperty("PossibleWorkInterruptionDuration"); IHistoryDataProvider dataProvider = NewMock <IHistoryDataProvider>(); Stub.On(lcdriver).GetProperty("HistoryDataProvider").Will(Return.Value(dataProvider)); ITimeLogsManager timeLogsManager = NewMock <ITimeLogsManager>(); Stub.On(dataProvider).GetProperty("ActivitiesSummaryData").Will(Return.Value(null)); Stub.On(dataProvider).GetProperty("TasksSummaryData").Will(Return.Value(null)); Stub.On(dataProvider).GetProperty("TimeLogsManager").Will(Return.Value(timeLogsManager)); Stub.On(dataProvider).Method("SetSummaryPeriod").WithAnyArguments(); Expect.Once.On(timeLogsManager).GetProperty("AvailableDays").Will(Return.Value(new List <DateTime>(new DateTime[] { DateTime.Parse("2000-12-31") }))); summary = new Summary(lcdriver, null); VerifyAllExpectationsHaveBeenMet(); }
public void PerformMidnightCorrection(IActivity currentActivity, ITimeLogsManager timeLogsManager) { DateTime endTime = currentActivity.End; DateTime midnightTime = endTime.Date; DateTime startTime = currentActivity.Start; if (startTime < midnightTime) { TimeSpan oldDayActivityDuration = midnightTime - startTime; TimeSpan newDayActivityDuration = endTime - midnightTime; currentActivity.Duration = oldDayActivityDuration; if (timeLogsManager != null) { ITimeLog timeLog = timeLogsManager.ActiveTimeLog; if (timeLog != null) { timeLog.AddActivity(currentActivity); } timeLogsManager.ActivateTimeLog(midnightTime); } currentActivity.Start = midnightTime; currentActivity.Duration = newDayActivityDuration; } }
public ActivityTimeSummarizer(string activityName, DataTable table, ITimeLogsManager timeLogsManager) { this.entityName = activityName; this.table = table; this.timeLogsManager = timeLogsManager; }
public void SetUp() { ITimeSystem mockTime = NewMock<ITimeSystem>(); Stub.On(mockTime).GetProperty("Now").Will(Return.Value(startTime)); timeLogsManager = NewMock<ITimeLogsManager>(); timeLog = NewMock<ITimeLog>(); Stub.On(timeLogsManager).Method("ActivateTimeLog").Will(Return.Value(timeLog)); timeManager = new TimeManager(mockTime, timeLogsManager); }
public ActivityTimeSummarizer(string activityName, DataTable table, ITimeLogsManager timeLogsManager) { this.entityName = activityName; this.table = table; this.timeLogsManager = timeLogsManager; }