Пример #1
0
        public void ReturnFalse_ImmediatelyAfterDispatching()
        {
            var message = new RepeatingMessage(60, "");

            message.GetMessageInstance(59);

            Assert.IsFalse(message.IsTimeToDispatch(61));
        }
Пример #2
0
        public void AddRepeatingMessageToQueue_GivenDelay()
        {
            var sut = new MessageDispatcher();

            var repeatedMessage = new RepeatingMessage(15, "This is an automated message! This message will repeat.");

            sut.Publish(repeatedMessage);

            Assert.Contains(repeatedMessage, sut.MessagesToDispatch);
        }
Пример #3
0
        public void ReturnFalse_WhenCreated()
        {
            //Arrange
            var fakeClock = A.Fake <IClock>();

            A.CallTo(() => fakeClock.UtcNow).Returns(new DateTime(2018, 6, 28, 12, 0, 0));

            var testMsg = new RepeatingMessage("channel", "Hi, this is a timed message from AlphaBot!", Delay, null, fakeClock, "TestMessage");

            // Act and Assert
            Assert.IsFalse(testMsg.ShouldExecute());
        }
Пример #4
0
        private async Task ScheduleRepeatedMessages()
        {
            if (ActionScheduler != null)
            {
                var messages = await BotDataClient.GetTimedMessages();

                var messageId = 0;
                foreach (var message in messages)
                {
                    var action = new RepeatingMessage(message.Message, message.Delay, ConnectedClients, $"AutomatedMessage-{messageId}");
                    ActionScheduler.Schedule(action);
                    messageId++;
                }
            }
        }
Пример #5
0
        public void ReturnTrue_AfterExpiryOfSecondDelay()
        {
            // Arrange
            var fakeClock = A.Fake <IClock>();

            var startTime = new DateTime(2018, 6, 28, 12, 0, 0);

            A.CallTo(() => fakeClock.UtcNow).Returns(startTime).Once()
            .Then.Returns(startTime.AddMinutes(2 * Delay));

            var testMsg = new RepeatingMessage("channel", "Hi, this is a timed message from AlphaBot!", Delay, null, fakeClock, "TestMessage");

            // Act and Assert
            Assert.IsTrue(testMsg.ShouldExecute());
        }
Пример #6
0
        public void ReturnFalse_AtInitialSetup()
        {
            var message = new RepeatingMessage(0, "");

            Assert.IsFalse(message.IsTimeToDispatch(0));
        }
Пример #7
0
        public void ReturnTrue_WhenTimePasseedEqualToDelay()
        {
            var message = new RepeatingMessage(60, "");

            Assert.IsTrue(message.IsTimeToDispatch(61));
        }
Пример #8
0
        public void ReturnFalse_WhenTimePasseedNotEqualToDelay()
        {
            var message = new RepeatingMessage(60, "");

            Assert.IsFalse(message.IsTimeToDispatch(59));
        }