private async void RunHandler(EventMessageBase message, Mock <IBotState> mockState)
        {
            var handler = new ImHandler();

            handler.BotState = mockState.Object;

            var result = await handler.HandleMessageAsync(message);

            mockState.Verify();
        }
        public void CanHandleImMessages()
        {
            var handler = new ImHandler();

            bool result           = false;
            var  messageTestCases = new List <EventMessageBase>
            {
                new ImClose {
                    Type = EventType.ImClose
                },
                new ImCreated {
                    Type = EventType.ImCreated
                },
                new ImMarked {
                    Type = EventType.ImMarked
                }
            };

            foreach (var messageTestCase in messageTestCases)
            {
                result = handler.CanHandle(messageTestCase);
                Assert.True(result);
            }
        }