예제 #1
0
        public void AdjustTimeEntries_EntriesAdjustedToNearest5Min_TimeSheetWithCorrectAdjustments()
        {
            // Arrange
            var unadjustedTimePeriods = new List <TimePeriod>
            {
                CreateTimePeriod((10, 43, 0), (11, 47, 0)),
                CreateTimePeriod((11, 47, 0), (11, 56, 0))
            };

            var expectedTimePeriods = new List <TimePeriod>
            {
                CreateTimePeriod((10, 45, 0), (11, 45, 0)),
                CreateTimePeriod((11, 45, 0), (11, 55, 0))
            };

            var timeSheet = CreateTimeSheetFromTimePeriods(unadjustedTimePeriods);
            var expected  = CreateTimeSheetFromTimePeriods(expectedTimePeriods);

            var stepInterval      = new TimeSpan(0, 0, 5, 0);
            var timeSheetAdjuster = new TimeSheetAdjuster(stepInterval, timeSheet);

            // Act
            var result = timeSheetAdjuster.GetAdjustedTimeSheet();

            // Assert
            result.Should().BeEquivalentTo(expected);
        }
예제 #2
0
        public void AdjustTimeEntries_EndAndStartDontAdjustToSameValue2_EndAndStartAdjustedToIntervalBetween()
        {
            // Arrange
            var unadjustedTimePeriods = new List <TimePeriod>
            {
                CreateTimePeriod((12, 0, 0), (12, 56, 0)),
                CreateTimePeriod((12, 59, 0), (14, 58, 0))
            };

            var expectedTimePeriods = new List <TimePeriod>
            {
                CreateTimePeriod((12, 0, 0), (12, 55, 0)),
                CreateTimePeriod((12, 55, 0), (15, 0, 0))
            };

            var timeSheet = CreateTimeSheetFromTimePeriods(unadjustedTimePeriods);
            var expected  = CreateTimeSheetFromTimePeriods(expectedTimePeriods);

            var stepInterval      = new TimeSpan(0, 0, 5, 0);
            var timeSheetAdjuster = new TimeSheetAdjuster(stepInterval, timeSheet);

            // Act
            var result = timeSheetAdjuster.GetAdjustedTimeSheet();

            // Assert
            result.Should().BeEquivalentTo(expected);
        }
예제 #3
0
        public void AdjustTimeEntries_EmptyTimeSheet_SameEntriesReturned()
        {
            // Arrange
            var timeSheet = new TimeSheet();
            var expected  = new TimeSheet();

            var stepInterval      = new TimeSpan(0, 0, 5, 0);
            var timeSheetAdjuster = new TimeSheetAdjuster(stepInterval, timeSheet);

            // Act
            var result = timeSheetAdjuster.GetAdjustedTimeSheet();

            // Assert
            result.Should().BeEquivalentTo(expected);
        }
예제 #4
0
        public void AdjustTimeEntries_EntriesDontNeedAdjusting_SameEntriesReturned()
        {
            // Arrange
            var timePeriods = new List <TimePeriod>
            {
                CreateTimePeriod((10, 45, 0), (11, 45, 0)),
                CreateTimePeriod((11, 45, 0), (11, 55, 0)),
                CreateTimePeriod((11, 55, 0), (13, 10, 0))
            };

            var timeSheet = CreateTimeSheetFromTimePeriods(timePeriods);
            var expected  = CreateTimeSheetFromTimePeriods(timePeriods);

            var stepInterval      = new TimeSpan(0, 0, 5, 0);
            var timeSheetAdjuster = new TimeSheetAdjuster(stepInterval, timeSheet);

            // Act
            var result = timeSheetAdjuster.GetAdjustedTimeSheet();

            // Assert
            result.Should().BeEquivalentTo(expected);
        }