Example #1
0
        public void AdjustTimes_ShouldSetBreakDuration(int originalMins, int adjustedMins, IFixture fixture, WorkedHoursCalculator sut)
        {
            // arrange..
            var workDay = fixture.Build <TestWorkDay>()
                          .With(wd => wd.BreakDuration, new TimeSpan(0, originalMins, 0))
                          .Create();

            // act..
            sut.AdjustTimes(workDay);

            // assert..
            workDay.BreakDuration.Minutes.ShouldBe(adjustedMins, $"Failing condition: original: {originalMins}, adjusted: {adjustedMins}");
        }
Example #2
0
        public void VerifyTimes_ShouldNotThrowException_WhenTimeDifferenceMatchesWorkHours(int startTimeHour,
                                                                                           int startTimeMinute,
                                                                                           int endTimeHour,
                                                                                           int endTimeMinute,
                                                                                           int breakDurationHour,
                                                                                           int breakDurationMinute,
                                                                                           int workedHours,
                                                                                           int workedMinutes,
                                                                                           IFixture fixture,
                                                                                           WorkedHoursCalculator sut)
        {
            // arrange..
            var workDay = fixture.Build <TestWorkDay>()
                          .With(wd => wd.StartTime, new TimeSpan(startTimeHour, startTimeMinute, 0))
                          .With(wd => wd.EndTime, new TimeSpan(endTimeHour, endTimeMinute, 0))
                          .With(wd => wd.BreakDuration, new TimeSpan(breakDurationHour, breakDurationMinute, 0))
                          .With(wd => wd.WorkedHours, new TimeSpan(workedHours, workedMinutes, 0))
                          .Create();

            // act..
            var actual = Record.Exception(() => sut.VerifyTimes(workDay));

            // assert..
            actual.ShouldBeNull($"Failing condition: {startTimeHour}:{startTimeMinute}-{endTimeHour}:{endTimeMinute}, break: {breakDurationHour}:{breakDurationMinute}, worked hours: {workedHours}:{workedMinutes}");
        }
Example #3
0
        public void VerifyTimes_ShouldThrowException_WhenTimeDifferenceNotMatchWorkHours(IFixture fixture, WorkedHoursCalculator sut)
        {
            // arrange..
            var workDay = fixture.Build <TestWorkDay>()
                          .With(wd => wd.StartTime, new TimeSpan(8, 30, 0))
                          .With(wd => wd.EndTime, new TimeSpan(17, 30, 0))
                          .With(wd => wd.BreakDuration, new TimeSpan(1, 0, 0))
                          .With(wd => wd.WorkedHours, new TimeSpan(8, 30, 0))
                          .Create();

            // act..
            var actual = Record.Exception(() => sut.VerifyTimes(workDay));

            // assert..
            actual.ShouldNotBeNull();
            actual.ShouldBeOfType <ApplicationException>();
        }