public void CreateMarkdownContainer_FromMarkdownDocument_ShouldReturnInstanceOfMarkdownDocument()
        {
            MarkdownElementFactory factory = new MarkdownElementFactory();

            IHeaderContainer returnValue =
                factory.CreateMarkdownContainer <IMarkdownDocument>("Test");

            Assert.IsInstanceOfType(returnValue, typeof(MarkdownDocument));
        }
        public void CreateMarkdownContainer_FromIMarkdownParagraph_ShouldReturnInstanceOfMarkdownParagraph()
        {
            MarkdownElementFactory factory = new MarkdownElementFactory();

            IMarkdownParagraph paragraph =
                factory.CreateMarkdownContainer <IMarkdownParagraph>("Test");

            Assert.IsInstanceOfType(paragraph, typeof(MarkdownParagraph));
        }
        public void CreateElement_FromIDocumentCodeBlockContent_ShouldReturnInstanceOfMarkdownChapterString()
        {
            MarkdownElementFactory factory = new MarkdownElementFactory();

            IPrintableDocumentCodeBlock chapterStringContent =
                factory.CreateElement <IPrintableDocumentCodeBlock>();

            Assert.IsInstanceOfType(chapterStringContent, typeof(MarkdownCodeBlock));
        }
        public void CreateElement_FromContainerType_ShouldReturnDefaultValueNull()
        {
            MarkdownElementFactory factory = new MarkdownElementFactory();

            IMarkdownParagraph element =
                factory.CreateElement <IMarkdownParagraph>();

            Assert.IsNull(element);
        }
        public void CreateElement_FromBaseTypeIPrintable_ShouldReturnDefaultValueNull()
        {
            MarkdownElementFactory factory = new MarkdownElementFactory();

            ITestContainer element =
                factory.CreateMarkdownContainer <ITestContainer>("Test");

            Assert.IsNull(element);
        }
        public void CreateElement_FromIFormattableParagraphTableContent_ShouldReturnInstanceOfMarkdownChapterString()
        {
            MarkdownElementFactory factory = new MarkdownElementFactory();

            IPrintableParagraphTable chapterStringContent =
                factory.CreateElement <IPrintableParagraphTable>();

            Assert.IsInstanceOfType(chapterStringContent, typeof(MarkdownTable));
        }
        public void CreateMarkdownElement_FromIPrintableDocumentParagraphHyperlink_ShouldReturnMarkdownHyperlinObject()
        {
            MarkdownElementFactory factory = new MarkdownElementFactory();

            IPrintable returnValue =
                factory.CreateElement <IPrintableDocumentParagraphHyperlink>();

            Assert.IsInstanceOfType(returnValue, typeof(MarkdownHyperlink));
        }
        public void CreateMarkdownElement_FromNotImplementedElementType_ShouldReturnDefaultValue()
        {
            MarkdownElementFactory factory = new MarkdownElementFactory();

            IPrintable returnValue =
                factory.CreateElement <INotExistentElement>();

            Assert.AreEqual(default(INotExistentElement), returnValue);
        }
        public void CreateMarkdownContainer_FromNotImplementedContainerType_ShouldReturnDefaultValue()
        {
            MarkdownElementFactory factory = new MarkdownElementFactory();

            IHeaderContainer returnValue =
                factory.CreateMarkdownContainer <INotExistentContainer>("Test");

            Assert.AreEqual(default(INotExistentContainer), returnValue);
        }
        public void CreateMarkdownContainer_FromMarkdownDocument_ShouldReturnObjectWithHeader()
        {
            MarkdownElementFactory factory = new MarkdownElementFactory();

            IHeaderContainer returnValue =
                factory.CreateMarkdownContainer <IMarkdownSite>("Test");

            Assert.AreEqual("Test", returnValue.HeaderContent);
        }