Example #1
0
        public void TestAttributesAndValues()
        {
            // Arrange
            String expectedXml =
                "<flavor name='Test-Driven Development'>" +
                "<requirements>" +
                "<requirement type='hardware'>" +
                "1 computer for every 2 participants" +
                "</requirement>" +
                "<requirement type='software'>" +
                "IDE" +
                "</requirement>" +
                "</requirements>" +
                "</flavor>";

            // Act
            TagBuilder builder = new TagBuilder("flavor");

            builder.AddAttribute("name", "Test-Driven Development");
            builder.AddChild("requirements");
            builder.AddToParent("requirements", "requirement");
            builder.AddAttribute("type", "hardware");
            builder.AddValue("1 computer for every 2 participants");
            builder.AddToParent("requirements", "requirement");
            builder.AddAttribute("type", "software");
            builder.AddValue("IDE");

            String actualXml = builder.ToXml();

            // Assert
            Assert.AreEqual(expectedXml, actualXml);
        }
Example #2
0
        public void TestRepeatingChildrenAndGrandchildren()
        {
            // Arrange
            String expectedXml =
                "<flavors>" +
                "<flavor>" +
                "<requirements>" +
                "<requirement/>" +
                "</requirements>" +
                "</flavor>" +
                "<flavor>" +
                "<requirements>" +
                "<requirement/>" +
                "</requirements>" +
                "</flavor>" +
                "</flavors>";

            // Act
            TagBuilder builder = new TagBuilder("flavors");

            for (Int32 i = 0; i < 2; i++)
            {
                builder.AddToParent("flavors", "flavor");
                builder.AddChild("requirements");
                builder.AddChild("requirement");
            }

            String actualXml = builder.ToXml();

            // Assert
            Assert.AreEqual(expectedXml, actualXml);
        }
Example #3
0
        public void TestParentNameNotFound()
        {
            // Arrange
            TagBuilder builder = new TagBuilder("flavors");

            // Act
            SystemException exception = Assert.Throws <SystemException>(() =>
            {
                for (Int32 i = 0; i < 2; i++)
                {
                    builder.AddToParent("favors", "flavor");
                    builder.AddChild("requirements");
                    builder.AddChild("requirement");
                }
            });

            // Assert
            const String expectedErrorMessage = "missing parent tag: favors";

            Assert.AreEqual(expectedErrorMessage, exception.Message);
        }