Ejemplo n.º 1
0
        public void Print_WithThreeCodeBlockChildItems_ShouldCallPrintOnEveryChildItem()
        {
            // region 1) Arrange
            string inputHeaderValue = "Test";

            Mock <IPrintableDocumentCodeBlock>      codeBlockMock      = new Mock <IPrintableDocumentCodeBlock>();
            Mock <IPrintableMarkdownElementFactory> elementFactoryMock = new Mock <IPrintableMarkdownElementFactory>();

            elementFactoryMock.Setup(f => f.CreateElement <IPrintableDocumentCodeBlock>()).Returns(codeBlockMock.Object);
            Mock <IMarkdownHeaderBuilder> headerBuilderMock = new Mock <IMarkdownHeaderBuilder>();

            MarkdownSite site = new MarkdownSite(inputHeaderValue, elementFactoryMock.Object);

            site.SetHeaderBuilder(headerBuilderMock.Object);

            site.AddNewContent <IPrintableDocumentCodeBlock>();
            site.AddNewContent <IPrintableDocumentCodeBlock>();
            site.AddNewContent <IPrintableDocumentCodeBlock>();

            // region 2) Act
            site.Print();

            // region 3) Assert
            codeBlockMock.Verify(cb => cb.Print(), Times.Exactly(3));
        }
Ejemplo n.º 2
0
        public void AddNewContent_WithParagraphHyperlink_ShouldCallFactoryForCreateAParagraphHyperlink()
        {
            Mock <IPrintableMarkdownElementFactory> elementFactoryMock = new Mock <IPrintableMarkdownElementFactory>();

            MarkdownSite site = new MarkdownSite("Test", elementFactoryMock.Object);

            site.AddNewContent <IPrintableDocumentParagraphHyperlink>();

            elementFactoryMock.Verify(f => f.CreateElement <IPrintableDocumentParagraphHyperlink>(), Times.Exactly(1));
        }