public void TestTestConfigNode()
        {
            TestConfigNode node = new TestConfigNode("NODE")
            {
                { "value1", "something" },
                { "value2", "something else" },
                { "multiple", "first" },
                { "multiple", "second" },
                { "NODE_1", new TestConfigNode
                  {
                      { "name", "something" },
                      { "stuff", "something else" },
                  } },
                new TestConfigNode("MULTIPLE")
                {
                    { "value3", "blah" },
                    { "value4", "bleh" },
                },
                new TestConfigNode("MULTIPLE")
                {
                    { "value3", "blih" },
                    { "value4", "bloh" },
                },
            };

            Assert.Equal("something", node.GetValue("value1"));
            Assert.Equal("something else", node.GetValue("value2"));
            Assert.Equal(new[] { "first", "second" }, node.GetValues("multiple"));

            ConfigNode innerNode1 = node.GetNode("NODE_1");

            Assert.NotNull(innerNode1);

            Assert.Equal("NODE_1", innerNode1.name);
            Assert.Equal("something", innerNode1.GetValue("name"));
            Assert.Equal("something else", innerNode1.GetValue("stuff"));

            ConfigNode[] innerNodes2 = node.GetNodes("MULTIPLE");
            Assert.NotNull(innerNodes2);
            Assert.Equal(2, innerNodes2.Length);

            ConfigNode innerNode2a = innerNodes2[0];

            Assert.NotNull(innerNode2a);
            Assert.Equal("blah", innerNode2a.GetValue("value3"));
            Assert.Equal("bleh", innerNode2a.GetValue("value4"));

            ConfigNode innerNode2b = innerNodes2[1];

            Assert.NotNull(innerNode2b);
            Assert.Equal("blih", innerNode2b.GetValue("value3"));
            Assert.Equal("bloh", innerNode2b.GetValue("value4"));
        }
Example #2
0
        public void TestAssertConfigNodesEqual__MissingValue()
        {
            ConfigNode node1 = new TestConfigNode
            {
                { "value1", "blah1" },
                { "value1", "blah2" },
            };

            ConfigNode node2 = new TestConfigNode
            {
                { "value1", "blah1" },
            };

            Assert.Throws <Xunit.Sdk.EqualException>(() => AssertUtil.ConfigNodesEqual(node1, node2));
        }
Example #3
0
        public void TestAssertConfigNodesEqual__True()
        {
            ConfigNode node1 = new TestConfigNode("NODE0")
            {
                { "value1", "something1" },
                { "value2", "something2" },
                { "value2", "something3" },
                new TestConfigNode("NODE1")
                {
                    { "value3", "something4" },
                    { "value4", "something5" },
                    { "value4", "something6" },
                    new TestConfigNode("NODE2")
                    {
                        { "value5", "something7" },
                    }
                },
                new TestConfigNode("NODE3")
                {
                    { "value6", "something8" },
                    { "value7", "something9" },
                    { "value7", "something10" },
                    new TestConfigNode("NODE4")
                    {
                        { "value8", "something11" },
                    }
                },
                new TestConfigNode("NODE3")
                {
                    { "value6", "something12" },
                    { "value7", "something13" },
                    { "value7", "something14" },
                    new TestConfigNode("NODE4")
                    {
                        { "value8", "something15" },
                    }
                },
            };

            ConfigNode node2 = node1.CreateCopy();

            Assert.DoesNotThrow(() => AssertUtil.ConfigNodesEqual(node1, node2));
        }