public async Task InAndOut9()
        {
            var theDay = new DateTime(2020, 04, 21);

            ctx.TimeBookings.RemoveRange();
            await ctx.SaveChangesAsync();

            ctx.TimeBookings.Add(new TimeBooking
            {
                BookingTime = theDay.AddHours(6).AddMinutes(3),
            });
            ctx.TimeBookings.Add(new TimeBooking
            {
                BookingTime = theDay.AddHours(15).AddMinutes(3)
            });
            await ctx.SaveChangesAsync();

            var timeProvider = new FakeDateTimeProvider(theDay);
            var tbs          = new TimeBookingsService(tbsLogger, ctx);

            var sut = new ActualWorkTimeService(tbs, timeProvider);

            var(inTime, outTime, workTime, pauseTime) = await sut.LoadDataAsync(theDay);

            inTime.Hour.Should().Be(6);
            inTime.Minute.Should().Be(3);
            workTime.Should().Be(TimeSpan.FromMinutes(540));
            pauseTime.Should().Be(TimeSpan.Zero);
            outTime.Hour.Should().Be(15);
            outTime.Minute.Should().Be(3);
        }
        private (ActualWorkTimeService awt, TargetWorkTimeService twt) prepare(DateTime theDay)
        {
            var timeProvider = new FakeDateTimeProvider(theDay);

            var fs  = new FeiertagService(timeProvider);
            var cs  = new CoronaService(config, fs);
            var tbs = new TimeBookingsService(tbslogger, ctx);
            var awt = new ActualWorkTimeService(tbs, timeProvider);

            var twt = new TargetWorkTimeService(config, cs);

            return(awt, twt);
        }