public void AddTwoEmergencies_ShouldHaveBoth()
        {
            // Arrange
            var emergencyId1 = Guid.NewGuid();
            var emergencyId2 = Guid.NewGuid();
            var now          = 9.April(2019).At(7.Hours(6.Minutes()));
            var sut          = new EmergencyNotificationsQueueService(_options);

            // Act
            sut.Enqueue(emergencyId1, ActivityType.EmergencyMood, now);
            sut.Enqueue(emergencyId2, ActivityType.EmergencyStart, now);

            // Assert
            var canDequeue = sut.TryDequeue(out var result, _afterSendTime);

            canDequeue.Should().BeTrue();
            result.Id.Should().Be(emergencyId1);
            result.Type.Should().Be(ActivityType.EmergencyMood);

            canDequeue = sut.TryDequeue(out result, _afterSendTime);
            canDequeue.Should().BeTrue();
            result.Id.Should().Be(emergencyId2);
            result.Type.Should().Be(ActivityType.EmergencyStart);

            sut.TryDequeue(out _, _afterSendTime).Should().BeFalse();
        }
        public void AddNew_After2Seconds_ShouldHaveNone()
        {
            // Arrange
            var emergencyId = Guid.NewGuid();
            var now         = 9.April(2019).At(7.Hours(6.Minutes()));
            var sut         = new EmergencyNotificationsQueueService(_options);

            // Act
            sut.Enqueue(emergencyId, ActivityType.EmergencyStart, now);

            // Assert
            sut.TryDequeue(out _, _beforeSendtime).Should().BeFalse();
            sut.TryDequeue(out _, _afterSendTime).Should().BeTrue();
        }