Exemple #1
0
        public void CreateOverview_WithTargetContainingXmlExampleHelp_ShouldCallCreationForNewChapterNamedExample()
        {
            string exampleStringContent = "<TestXml>Content</TestXml>";

            Mock <IMsBuildTarget>              targetMock        = new Mock <IMsBuildTarget>();
            Mock <IPrintableDocumentChapter>   chapterMock       = new Mock <IPrintableDocumentChapter>();
            Mock <IPrintableDocumentCodeBlock> codeBlockMock     = new Mock <IPrintableDocumentCodeBlock>();
            Mock <ITestPrintable>              testPrintableMock = new Mock <ITestPrintable>();

            chapterMock.Setup(cm => cm.AddNewContent <IPrintableDocumentCodeBlock>()).Returns(codeBlockMock.Object);
            testPrintableMock.Setup(tpm => tpm.AddNewChapter(It.Is <string>(s => s == "Example")))
            .Returns(chapterMock.Object);

            IMsBuildElementHelp elementHelpMock = MsBuildTestDataBuilder.Create <IMsBuildTarget>()
                                                  .SetName("TargetA")
                                                  .WithHelp()
                                                  .AddHelpParagraph("EXAMPLE", exampleStringContent)
                                                  .Build();

            targetMock.Setup(tm => tm.Help).Returns(elementHelpMock);

            Mock <PrintableDocument <ITestPrintable> > printableDocumentMock =
                new Mock <PrintableDocument <ITestPrintable> >();

            printableDocumentMock.Setup(pdm => pdm.Create(It.IsAny <string>())).Returns(testPrintableMock.Object);

            TargetOverviewSiteGenerator <ITestPrintable> targetOverviewSiteGenerator =
                new TargetOverviewSiteGenerator <ITestPrintable>(printableDocumentMock.Object);

            IPrintableDocument printableDocument = targetOverviewSiteGenerator.CreateOverview(targetMock.Object);

            testPrintableMock.Verify(tpm => tpm.AddNewChapter(It.Is <string>(s => s == "Example")), Times.Exactly(1));
        }
Exemple #2
0
        CreateOverview_WithTargetContainingTwoParameterDescriptionsAsHelpContent_ShouldAppendTwoParameterSectionsWithParameterName()
        {
            #region 1) Arrange

            string targetDescriptionText = "This is the target parameter";

            IMsBuildElementHelp help = MsBuildTestDataBuilder.Create <IMsBuildTarget>()
                                       .SetName("TargetA")
                                       .WithHelp()
                                       .AddHelpParagraph("PARAMETER", targetDescriptionText, "$(ParamPropertyOne)")
                                       .AddHelpParagraph("PARAMETER", targetDescriptionText, "$(ParamPropertyTwo)")
                                       .Build();


            Mock <IMsBuildTarget> targetMock = new Mock <IMsBuildTarget>();
            targetMock.Setup(t => t.Name).Returns("TargetA");
            targetMock.Setup(t => t.Help).Returns(help);

            Mock <IPrintableDocumentChapterStringContent> chapterContentMock =
                new Mock <IPrintableDocumentChapterStringContent>();
            chapterContentMock.SetupSet(cc => cc.Content = It.IsAny <string>()).Verifiable();

            Mock <IPrintableDocumentParagraph> paragraphMock = new Mock <IPrintableDocumentParagraph>();
            Mock <IPrintableDocumentChapter>   chapterMock   = new Mock <IPrintableDocumentChapter>();
            chapterMock.Setup(c => c.AddNewParagraph(It.IsAny <string>())).Returns(paragraphMock.Object);
            paragraphMock.Setup(p => p.AddNewContent <IPrintableDocumentChapterStringContent>())
            .Returns(chapterContentMock.Object);

            Mock <IMarkdownDocument> markdownDocumentMock = new Mock <IMarkdownDocument>();
            markdownDocumentMock.Setup(md => md.DefaultFileExtension).Returns("md");
            markdownDocumentMock.Setup(md => md.AddNewChapter(It.IsAny <string>())).Returns(chapterMock.Object);

            Mock <PrintableDocument <IMarkdownDocument> > printableDocumentMock =
                new Mock <PrintableDocument <IMarkdownDocument> >();

            printableDocumentMock.Setup(pd => pd.Create(It.IsAny <string>()))
            .Returns(markdownDocumentMock.Object);

            TargetOverviewSiteGenerator <IMarkdownDocument> markdownTargetDocumentGenerator =
                new TargetOverviewSiteGenerator <IMarkdownDocument>(printableDocumentMock.Object);

            #endregion

            // 2) Act
            IPrintableDocument document = markdownTargetDocumentGenerator.CreateOverview(targetMock.Object);

            // 3) Assert
            chapterMock.Verify(
                cm => cm.AddNewParagraph(It.Is <string>(s => s.Equals("Parameter $(ParamPropertyOne)"))),
                Times.Exactly(1));
            chapterMock.Verify(
                cm => cm.AddNewParagraph(It.Is <string>(s => s.Equals("Parameter $(ParamPropertyTwo)"))),
                Times.Exactly(1));
        }
Exemple #3
0
        public void CreateOverview_WithTargetContainingDescriptionAsHelpContent_ShouldSetCorrectDescriptionContent()
        {
            #region 1) Arrange

            string targetDescriptionText = "This is the target description";

            IMsBuildElementHelp help = MsBuildTestDataBuilder.Create <IMsBuildTarget>()
                                       .SetName("TargetA")
                                       .WithHelp()
                                       .AddHelpParagraph("DESCRIPTION", targetDescriptionText, "$(ParamPropertyOne)")
                                       .Build();

            Mock <IMsBuildTarget> targetMock = new Mock <IMsBuildTarget>();
            targetMock.Setup(t => t.Name).Returns("TargetA");
            targetMock.Setup(t => t.Help).Returns(help);

            Mock <IPrintableDocumentChapterStringContent> chapterContentMock =
                new Mock <IPrintableDocumentChapterStringContent>();
            chapterContentMock.SetupSet(cc => cc.Content = It.IsAny <string>()).Verifiable();

            Mock <IPrintableDocumentChapter> chapterMock = new Mock <IPrintableDocumentChapter>();
            chapterMock.Setup(c => c.AddNewContent <IPrintableDocumentChapterStringContent>())
            .Returns(chapterContentMock.Object);

            Mock <IMarkdownDocument> markdownDocumentMock = new Mock <IMarkdownDocument>();
            markdownDocumentMock.Setup(md => md.DefaultFileExtension).Returns("md");
            markdownDocumentMock.Setup(md => md.AddNewChapter(It.IsAny <string>())).Returns(chapterMock.Object);

            Mock <PrintableDocument <IMarkdownDocument> > printableDocumentMock =
                new Mock <PrintableDocument <IMarkdownDocument> >();

            printableDocumentMock.Setup(pd => pd.Create(It.IsAny <string>()))
            .Returns(markdownDocumentMock.Object);

            TargetOverviewSiteGenerator <IMarkdownDocument> markdownTargetDocumentGenerator =
                new TargetOverviewSiteGenerator <IMarkdownDocument>(printableDocumentMock.Object);

            #endregion

            // 2) Act
            IPrintableDocument document = markdownTargetDocumentGenerator.CreateOverview(targetMock.Object);

            // 3) Assert
            chapterContentMock.VerifySet(cc => cc.Content = It.Is <string>(
                                             s => s.Trim().Equals(targetDescriptionText)));
        }
Exemple #4
0
        CreateOverview_WithTargetContainingDescriptionAsHelpContent_ShouldCallCreationOfNewDocumentChapterNamedDescription()
        {
            #region 1) Arrange

            IMsBuildElementHelp help = MsBuildTestDataBuilder.Create <IMsBuildTarget>()
                                       .SetName("TargetA")
                                       .WithHelp()
                                       .AddHelpParagraph("DESCRIPTION", "This is a target description", "$(ParamPropertyOne)")
                                       .Build();

            Mock <IMsBuildTarget> targetMock = new Mock <IMsBuildTarget>();
            targetMock.Setup(t => t.Name).Returns("TargetA");
            targetMock.Setup(t => t.Help).Returns(help);

            Mock <IPrintableDocumentChapterStringContent> chapterContentMock =
                new Mock <IPrintableDocumentChapterStringContent>();

            Mock <IPrintableDocumentChapter> chapterMock = new Mock <IPrintableDocumentChapter>();
            chapterMock.Setup(c => c.AddNewContent <IPrintableDocumentChapterStringContent>())
            .Returns(chapterContentMock.Object);

            Mock <IMarkdownDocument> markdownDocumentMock = new Mock <IMarkdownDocument>();
            markdownDocumentMock.Setup(md => md.DefaultFileExtension).Returns("md");
            markdownDocumentMock.Setup(md => md.AddNewChapter(It.IsAny <string>())).Returns(chapterMock.Object);

            Mock <PrintableDocument <IMarkdownDocument> > printableDocumentMock =
                new Mock <PrintableDocument <IMarkdownDocument> >();

            printableDocumentMock.Setup(pd => pd.Create(It.IsAny <string>()))
            .Returns(markdownDocumentMock.Object);

            TargetOverviewSiteGenerator <IMarkdownDocument> markdownTargetDocumentGenerator =
                new TargetOverviewSiteGenerator <IMarkdownDocument>(printableDocumentMock.Object);

            #endregion

            // 2) Act
            IPrintableDocument document = markdownTargetDocumentGenerator.CreateOverview(targetMock.Object);

            // 3) Assert
            markdownDocumentMock.Verify(md => md.AddNewChapter(
                                            It.Is <string>(s => s.Equals("Description", StringComparison.OrdinalIgnoreCase))), Times.Exactly(1));
        }
Exemple #5
0
        CreateOverview_WithTargetContainingTwoXmlExampleHelps_ShouldAppendContentToBothCreatedPrintableCodeBlock()
        {
            string exampleStringContentOne = "<TestXml>Content</TestXml>";
            string exampleStringContentTwo = "<TestXml>AnotherContent</TestXml>";

            Mock <IMsBuildTarget>              targetMock        = new Mock <IMsBuildTarget>();
            Mock <IPrintableDocumentChapter>   chapterMock       = new Mock <IPrintableDocumentChapter>();
            Mock <IPrintableDocumentCodeBlock> codeBlockMock     = new Mock <IPrintableDocumentCodeBlock>();
            Mock <ITestPrintable>              testPrintableMock = new Mock <ITestPrintable>();

            chapterMock.Setup(cm => cm.AddNewContent <IPrintableDocumentCodeBlock>()).Returns(codeBlockMock.Object);
            testPrintableMock.Setup(tpm => tpm.AddNewChapter(It.Is <string>(s => s == "Example")))
            .Returns(chapterMock.Object);

            IMsBuildElementHelp elementHelpMock = MsBuildTestDataBuilder.Create <IMsBuildTarget>()
                                                  .SetName("TargetA")
                                                  .WithHelp()
                                                  .AddHelpParagraph("EXAMPLE", exampleStringContentOne)
                                                  .AddHelpParagraph("EXAMPLE", exampleStringContentTwo)
                                                  .Build();

            targetMock.Setup(tm => tm.Help).Returns(elementHelpMock);

            Mock <PrintableDocument <ITestPrintable> > printableDocumentMock =
                new Mock <PrintableDocument <ITestPrintable> >();

            printableDocumentMock.Setup(pdm => pdm.Create(It.IsAny <string>())).Returns(testPrintableMock.Object);

            TargetOverviewSiteGenerator <ITestPrintable> targetOverviewSiteGenerator =
                new TargetOverviewSiteGenerator <ITestPrintable>(printableDocumentMock.Object);

            IPrintableDocument printableDocument = targetOverviewSiteGenerator.CreateOverview(targetMock.Object);

            codeBlockMock.Verify(cbm => cbm.AppendContentLine(It.IsAny <string>()), Times.Exactly(2));
            codeBlockMock.Verify(cbm => cbm.AppendContentLine(exampleStringContentOne), Times.Once);
            codeBlockMock.Verify(cbm => cbm.AppendContentLine(exampleStringContentTwo), Times.Once);
        }