public MarkdownTransformer()
        {
            var core       = new CoreTransformer();
            var code       = new CodeTransformer(core);
            var acclaim    = new AcclaimTransformer(code);
            var image      = new ImageTransformer(acclaim);
            var gist       = new GistTransformer(image);
            var roiArticle = new ROIArticleTransformer(gist);

            _innerTransformer = roiArticle;
        }
        public void MetaContainsNoKeywordThenNoROIBlock()
        {
            var meta = JObject.Parse(
                @"{
                            ""url"": ""/rfc-weekly-17th-October-2016"",
                            ""published"": ""2016-10-17"",
                            ""modified"": ""2016-10-17"",
                            ""title"": ""RFC Weekly - 17th October 2016"",
                            ""enabled"":  ""true""
                        }");
            var markdown = "<h2>Hello World</h2>";

            var uat = new ROIArticleTransformer();

            var result = uat.TransformMarkdown(meta, markdown);

            Assert.DoesNotContain("roi-block", result);
            Assert.Equal(markdown, result);
        }
        public void MetaContainsROIKeywordThenROIBlock()
        {
            var meta = JObject.Parse(
                @"{
                            ""url"": ""/rfc-weekly-17th-October-2016"",
                            ""published"": ""2016-10-17"",
                            ""modified"": ""2016-10-17"",
                            ""title"": ""RFC Weekly - 17th October 2016"",
                            ""keyWords"":[""ROI"",""IT Management"",""Agile"",""Technical Debt""],
                            ""enabled"":  ""true""
                        }");
            var markdown = "<h2>Hello World</h2>";

            var uat = new ROIArticleTransformer();

            var result = uat.TransformMarkdown(meta, markdown);

            Assert.Contains("roi-block", result);
            Assert.Contains(markdown, result);
        }