예제 #1
0
        public void CanNotHandleInvalidPresenceMessages()
        {
            var message = new MeMessage { Type = EventType.Message };
            var handler = new PresenceHandler();

            var result = handler.CanHandle(message);

            Assert.False(result);
        }
예제 #2
0
        public void CanNotHandleInvalidPresenceMessages()
        {
            var message = new MeMessage {
                Type = EventType.Message
            };
            var handler = new PresenceHandler();

            var result = handler.CanHandle(message);

            Assert.False(result);
        }
예제 #3
0
        public void IsImShouldNotMatchNonPlainMessages()
        {
            var mockState = new Mock <IBotState>();

            var message = new MeMessage()
            {
                Type    = EventType.Message,
                Subtype = MessageSubType.MeMessage,
                Channel = "TESTID"
            };

            var result = EventMessageExtensions.IsIm(message, mockState.Object);

            Assert.False(result);
        }
예제 #4
0
        public void ShouldRemapMessagesToConcreteTypes()
        {
            var meMessage = new MeMessage
            {
                Type    = EventType.Message,
                Subtype = MessageSubType.MeMessage,
                Text    = "me",
                Team    = "team1"
            };

            var topicMessage = new ChannelTopic
            {
                Type    = EventType.Message,
                Subtype = MessageSubType.ChannelTopic,
                Topic   = "topic"
            };

            var plainMessage = new PlainMessage
            {
                Type    = EventType.Message,
                Subtype = MessageSubType.PlainMessage,
                Text    = "text"
            };

            var parser = new ResponseParser();

            var messages = new List <MessageBase>
            {
                parser.Deserialize <MessageBase>(parser.SerializeMessage(meMessage)),
                parser.Deserialize <MessageBase>(parser.SerializeMessage(topicMessage)),
                parser.Deserialize <MessageBase>(parser.SerializeMessage(plainMessage))
            };

            var concreteMessages = parser.RemapMessagesToConcreteTypes(messages).ToList();

            Assert.IsType <MeMessage>(concreteMessages[0]);
            Assert.IsType <ChannelTopic>(concreteMessages[1]);
            Assert.IsType <PlainMessage>(concreteMessages[2]);

            Assert.Equal(EventType.Message, concreteMessages[0].Type);
            Assert.Equal(MessageSubType.MeMessage, concreteMessages[0].Subtype);
            Assert.Equal("me", concreteMessages[0].Text);
            Assert.Equal("team1", concreteMessages[0].Team);

            Assert.Equal(EventType.Message, concreteMessages[1].Type);
            Assert.Equal("topic", ((ChannelTopic)concreteMessages[1]).Topic);
        }
예제 #5
0
        public void ShouldRemapMessagesToConcreteTypes()
        {
            var meMessage = new MeMessage
            {
                Type = EventType.Message,
                Subtype = MessageSubType.MeMessage,
                Text = "me",
                Team = "team1"
            };

            var topicMessage = new ChannelTopic
            {
                Type = EventType.Message,
                Subtype = MessageSubType.ChannelTopic,
                Topic = "topic"
            };

            var plainMessage = new PlainMessage
            {
                Type = EventType.Message,
                Subtype = MessageSubType.PlainMessage,
                Text = "text"
            };

            var parser = new ResponseParser();

            var messages = new List<MessageBase>
            {
                parser.Deserialize<MessageBase>(parser.SerializeMessage(meMessage)),
                parser.Deserialize<MessageBase>(parser.SerializeMessage(topicMessage)),
                parser.Deserialize<MessageBase>(parser.SerializeMessage(plainMessage))
            };

            var concreteMessages = parser.RemapMessagesToConcreteTypes(messages).ToList();

            Assert.IsType<MeMessage>(concreteMessages[0]);
            Assert.IsType<ChannelTopic>(concreteMessages[1]);
            Assert.IsType<PlainMessage>(concreteMessages[2]);

            Assert.Equal(EventType.Message, concreteMessages[0].Type);
            Assert.Equal(MessageSubType.MeMessage, concreteMessages[0].Subtype);
            Assert.Equal("me", concreteMessages[0].Text);
            Assert.Equal("team1", concreteMessages[0].Team);

            Assert.Equal(EventType.Message, concreteMessages[1].Type);
            Assert.Equal("topic", ((ChannelTopic)concreteMessages[1]).Topic);
        }
예제 #6
0
 public void MeMessage(MeMessage message)
 {
     SendCommand("addMeMessage", message);
 }
        public void IsImShouldNotMatchNonPlainMessages()
        {
            var mockState = new Mock<IBotState>();

            var message = new MeMessage()
            {
                Type = EventType.Message,
                Subtype = MessageSubType.MeMessage,
                Channel = "TESTID"
            };

            var result = EventMessageExtensions.IsIm(message, mockState.Object);

            Assert.False(result);
        }