示例#1
0
        public void WriteStructuredData()
        {
            var c = new XmlNode("C");
            var e = new XmlNode("E");
            var d = new XmlNode("D")
            {
                e
            };
            var b = new XmlNode("B")
            {
                c, d
            };
            var f = new XmlNode("F");
            var a = new XmlNode("A")
            {
                b, f
            };

            var textA = new SourceWriter(a).ToString();

            var node = new XmlNode("A")
            {
                new XmlNode("B")
                {
                    new XmlNode("C"),
                    new XmlNode("D")
                    {
                        new XmlNode("E"),
                    },
                },
                new XmlNode("F"),
            };

            var nodeText = new SourceWriter(node).ToString();

            var expected =
                @"<A>
    <B>
        <C>
        </C>
        <D>
            <E>
            </E>
        </D>
    </B>
    <F>
    </F>
</A>";

            textA.Should().Be(nodeText);
            textA.Should().Be(expected);

            string WithoutSpaces(string source) => source.Replace(" ", "");

            WithoutSpaces(textA).Should().Contain(WithoutSpaces(new SourceWriter(b).ToString()));
        }