public void CreateDefaultMessage_CreatesExpectedMessage(SlackAttribute attribute, SlackConfiguration config, Dictionary <string, object> bindingData, INameResolver nameResolver, SlackMessage targetMessage, String targetUrl)
        {
            ParameterInfo             parameter = GetType().GetMethod("TestMethod", BindingFlags.Static | BindingFlags.NonPublic).GetParameters().First();
            Dictionary <string, Type> contract  = new Dictionary <string, Type>
            {
                { "ChannelParam", typeof(string) },
                { "IconParam", typeof(string) },
                { "TextParam", typeof(string) },
                { "UsernameParam", typeof(string) },
                { "WebHookUrlParam", typeof(string) }
            };

            BindingProviderContext context = new BindingProviderContext(parameter, contract, CancellationToken.None);
            SlackBinding           binding = new SlackBinding(parameter, attribute, config, nameResolver, context);

            // Generate message with input data
            SlackMessage message = binding.CreateDefaultMessage(bindingData);

            // Check that the right values were used to initialize the funtion
            Assert.Equal(targetMessage.Channel, message.Channel);
            Assert.Equal(targetMessage.IconEmoji, message.IconEmoji);
            Assert.Equal(targetMessage.Text, message.Text);
            Assert.Equal(targetMessage.Username, message.Username);
            Assert.Equal(targetMessage.Mrkdwn, message.Mrkdwn);
            Assert.Equal(targetUrl, binding._client.BaseUrl);
        }
        public void CreateDefaultMessage_CreatesExpectedMessage(SlackAttribute attribute, SlackConfiguration config, Dictionary<string, object> bindingData, INameResolver nameResolver,SlackMessage targetMessage, String targetUrl)
        {
            ParameterInfo parameter = GetType().GetMethod("TestMethod", BindingFlags.Static | BindingFlags.NonPublic).GetParameters().First();
            Dictionary<string, Type> contract = new Dictionary<string, Type>
            {
                {"ChannelParam", typeof(string) },
                {"IconParam", typeof(string) },
                {"TextParam", typeof(string) },
                {"UsernameParam", typeof(string) },
                {"WebHookUrlParam", typeof(string) }
            };

            BindingProviderContext context = new BindingProviderContext(parameter, contract, CancellationToken.None);
            SlackBinding binding = new SlackBinding(parameter, attribute, config, nameResolver, context);
            
            // Generate message with input data
            SlackMessage message = binding.CreateDefaultMessage(bindingData);

            // Check that the right values were used to initialize the funtion
            Assert.Equal(targetMessage.Channel, message.Channel);
            Assert.Equal(targetMessage.IconEmoji, message.IconEmoji);
            Assert.Equal(targetMessage.Text, message.Text);
            Assert.Equal(targetMessage.Username, message.Username);
            Assert.Equal(targetMessage.Mrkdwn, message.Mrkdwn);
            Assert.Equal(targetUrl, binding._client.BaseUrl);
        }