public void DokuWikiFormatterTest()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            // Assert
            Assert.IsNotNull(formatter);
        }
        public void AsHeading3Test()
        {
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.AsHeading3("heading");

            // Assert
            Assert.AreEqual("==== heading ====", returnstring);
        }
        public void AsEMailTest()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.AsEMail("mail");

            // Assert
            Assert.AreEqual("<mail>", returnstring);
        }
        public void AsExternalLink2Test()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.AsExternalLink("link");

            // Assert
            Assert.AreEqual("[[link]]", returnstring);
        }
        public void AsInternalLink5Test()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.AsInternalLink("pagename.txt");

            // Assert
            Assert.AreEqual("[[pagename.txt]]", returnstring);
        }
        public void AsBoldTest()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.AsBold("text");

            // Assert
            Assert.AreEqual("**text**", returnstring);
        }
        public void AsSubscriptTest()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.AsSubscript("text");

            // Assert
            Assert.AreEqual("<sub>text</sub>", returnstring);
        }
        public void AsImageBoxTest()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.AsImageBox("{{filename.jpg}}");

            // Assert
            Assert.AreEqual("[{{filename.jpg}}]", returnstring);
        }
        public void AsImage12Test()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.AsImage("filename.jpg", "text");

            // Assert
            Assert.AreEqual("{{filename.jpg|text}}", returnstring);
        }
        public void AsPagenameTest()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.AsPagename("THIS IS A TEST+ FOR A FILE/NAME WITH% DIFFERENT* SPECIAL& CHARACTERS! ESPECIALLY# GERMAN= ONES: Ä, Ö, Ü, ß?");

            // Assert
            Assert.AreEqual("this_is_a_test__for_a_file_name_with__different__special__characters__especially__german__ones_a_o_u_s_.txt", returnstring);
        }
        public void DisableCacheTest()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.DisableCache();

            // Assert
            Assert.AreEqual("~~NOCACHE~~", returnstring);
        }
        public void AsDeletedTest()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.AsDeleted("text");

            // Assert
            Assert.AreEqual("<del>text</del>", returnstring);
        }
        public void EndDataEntryTest()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.EndDataEntry();

            // Assert
            Assert.AreEqual("----", returnstring);
        }
        public void EndBoxTest()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.EndBox();

            // Assert
            Assert.AreEqual("</WRAP>", returnstring);
        }
        public void BeginDataEntryTest()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.BeginDataEntry("name");

            // Assert
            Assert.AreEqual("---- dataentry name ----", returnstring);
        }
        public void AsItalicTest()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.AsItalic("text");

            // Assert
            Assert.AreEqual("//text//", returnstring);
        }
        public void BeginBoxTest()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.BeginBox(500, Alignment.Left);

            // Assert
            Assert.AreEqual("<WRAP box 500px Left>", returnstring);
        }
        public void ForceNewLineTest()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.ForceNewLine();

            // Assert
            Assert.AreEqual("\\\\", returnstring);
        }
        public void EndCommentTest()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.EndComment();

            // Assert
            Assert.AreEqual(" */", returnstring);
        }
        public void AsInsertPage2Test()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.AsInsertPage("pagename");

            // Assert
            Assert.AreEqual("{{page>pagename}}", returnstring);
        }
        public void AsImage7Test()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.AsImage("filename.jpg", 50, 100);

            // Assert
            Assert.AreEqual("{{filename.jpg?50x100}}", returnstring);
        }
        public void ListItemIndentTest()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.ListItemIndent();

            // Assert
            Assert.AreEqual("  ", returnstring);
        }
        public void AsUnderlinedTest()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.AsUnderlined("text");

            // Assert
            Assert.AreEqual("__text__", returnstring);
        }
        public void CellSpanVerticallyTest()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring = formatter.CellSpanVertically();

            // Assert
            Assert.AreEqual(":::", returnstring);
        }
        public void AsTableRow2ItemsTest()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string[] data         = { "data1", "data2", null };
            string   returnstring = formatter.AsTableRow(data);

            // Assert
            Assert.AreEqual("| data1 | data2 ||", returnstring);
        }
        public void DefineTableTest()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            int[]  width        = { 10, 20, 30, 40 };
            string returnstring = formatter.DefineTable(500, width);

            // Assert
            Assert.AreEqual("|<   500px   10%   20%   30%   40%   >|", returnstring);
        }
        public void AsInsertPage1Test()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string[] path         = { "path1", "path2" };
            string   returnstring = formatter.AsInsertPage(path, "pagename");

            // Assert
            Assert.AreEqual("{{page>path1:path2:pagename}}", returnstring);
        }
        public void AsInternalLink2Test()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string[] path         = { "path1", "path2" };
            string   returnstring = formatter.AsInternalLink(path, "pagename.txt", "text");

            // Assert
            Assert.AreEqual("[[path1:path2:pagename.txt|text]]", returnstring);
        }
        public void AsImage6Test()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string[] path         = { "path1", "path2" };
            string   returnstring = formatter.AsImage(path, "filename.jpg", "text");

            // Assert
            Assert.AreEqual("{{path1:path2:filename.jpg|text}}", returnstring);
        }
        public void AlignImageTest()
        {
            // Arrange
            DokuWikiFormatter formatter = new DokuWikiFormatter();

            // Act
            string returnstring1 = formatter.AlignImage("[[link]]", Alignment.Left);
            string returnstring2 = formatter.AlignImage("[[link]]", Alignment.Centered);
            string returnstring3 = formatter.AlignImage("[[link]]", Alignment.Right);

            // Assert
            Assert.AreEqual("[[link ]]", returnstring1);
            Assert.AreEqual("[[ link ]]", returnstring2);
            Assert.AreEqual("[[ link]]", returnstring3);
        }