public void ExtractNameFromWikiText_noPlainList_returnsEmptyString()
        {
            // arrange

            // act
            var extractedPublisher = PlainListWikiTemplateParser.GetFirstElementFromPlainList("hello");

            // assert
            Assert.AreEqual("", extractedPublisher);
        }
        public void ExtractNameFromWikiText_noEntriesInPlainList_returnsEmptyString()
        {
            // arrange
            const string markupToTest = @"{{Plainlist|
}}";

            // act
            var extractedPublisher = PlainListWikiTemplateParser.GetFirstElementFromPlainList(markupToTest);

            // assert
            Assert.AreEqual("", extractedPublisher);
        }
        public void ExtractNameFromWikiText_plainListRedirect2PartialLowerCaseWithItems_returnsFirstItem()
        {
            // arrange
            const string markupToTest = @"{{Pl|
* [[Atari]] ([[Atari Lynx]])
* [[U.S. Gold]] ([[Atari ST]], [[Amiga]], [[ZX Spectrum]])
* [[Epyx]] ([[MS-DOS]])
* [[Microsoft Home]] ([[Microsoft Windows|Windows]])
}}";

            // act
            var extractedPublisher = PlainListWikiTemplateParser.GetFirstElementFromPlainList(markupToTest);

            // assert
            Assert.AreEqual("[[Atari]] ([[Atari Lynx]])", extractedPublisher);
        }
        public void ExtractNameFromWikiText_alternativePlainListSyntax_returnsFirstListItem()
        {
            // arrange
            const string markupToTest = @"{{plainlist}}
* [[cat]]
* [[dog]]
* [[horse]]
* [[cow]]
* [[sheep]]
* [[pig]]
{{endplainlist}}";

            // act
            var extractedPublisher = PlainListWikiTemplateParser.GetFirstElementFromPlainList(markupToTest);

            // assert
            Assert.AreEqual("[[cat]]", extractedPublisher);
        }