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); }
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()); }