Пример #1
0
        public WhenUserCommandReceived()
        {
            Sut
            .AddCommand(MockedUserCommand1.Object)
            .AddCommand(MockedUserCommand2.Object);

            ChatMessage = ChatMessageBuilder
                          .Create()
                          .Build();

            Sut.Enable(MockedUserCommand1.Object.Name);

            var userCommandName = MockedUserCommand1.Object.Name;

            UserCommandArgs = new OnUserCommandReceivedArgs(ChatMessage, Array.Empty <String>());

            var userCommandArgs = UserCommandArgs;

            MockedUserCommandValidator
            .Setup(x => x.TryValidateCommand(ChatMessage, out userCommandName, out userCommandArgs))
            .Returns(true);

            MessageArgs = new OnMessageReceivedArgs()
            {
                ChatMessage = ChatMessage
            };

            MockedTwitchClient.Raise(x => x.OnMessageReceived += null, MessageArgs);
        }
Пример #2
0
        public void ShouldSplitMessageBeyondMessageLengthLimit()
        {
            var channelName = Guid.NewGuid().ToString();

            var message = String.Concat(Enumerable.Repeat("a ", TwitchClientManager.MaxMessageLength / 2 + 1));

            var expectedFirstMessage  = String.Concat(Enumerable.Repeat("a ", TwitchClientManager.MaxMessageLength / 2 - 1)) + 'a';
            var expectedSecondMessage = "a ";

            Sut.SpoolMessage(channelName, message, Priority.Medium);

            MockedTwitchClient.Verify(x => x.SendMessage(channelName, expectedFirstMessage, false), Times.Once());
            MockedTwitchClient.Verify(x => x.SendMessage(channelName, expectedSecondMessage, false), Times.Once());
        }