Example #1
0
        public void TestSimpleStructCollectionUpdate()
        {
            var nodeContainer = new NodeContainer();
            var container     = new StructWithCollectionContainer {
                Struct = new StructWithCollection {
                    Strings = new List <string> {
                        "aaa", "bbb"
                    }
                }
            };
            var containerNode    = nodeContainer.GetOrCreateNode(container);
            var memberNode       = containerNode[nameof(StructWithCollectionContainer.Struct)];
            var targetNode       = memberNode.Target;
            var structMemberNode = targetNode[nameof(StructWithCollection.Strings)];

            Helper.TestNonCollectionObjectNode(containerNode, container, 1);
            Helper.TestMemberNode(containerNode, memberNode, container, container.Struct, nameof(StructWithCollectionContainer.Struct), true);
            Helper.TestNonNullObjectReference(memberNode.TargetReference, container.Struct, false);
            Helper.TestMemberNode(targetNode, structMemberNode, container.Struct, container.Struct.Strings, nameof(StructWithCollection.Strings), true);

            structMemberNode.Target.Update("ddd", new NodeIndex(1));
            Assert.Equal("ddd", container.Struct.Strings[1]);
            Assert.Equal(targetNode, memberNode.Target);
            Assert.Equal(structMemberNode, targetNode[nameof(StructWithCollection.Strings)]);
            Helper.TestMemberNode(targetNode, structMemberNode, container.Struct, container.Struct.Strings, nameof(StructWithCollection.Strings), true);
        }
Example #2
0
        public void TestSimpleStructCollectionUpdate()
        {
            var nodeContainer = new NodeContainer();
            var container     = new StructWithCollectionContainer {
                Struct = new StructWithCollection {
                    Strings = new List <string> {
                        "aaa", "bbb"
                    }
                }
            };
            var containerNode = nodeContainer.GetOrCreateNode(container);

            Helper.TestNonCollectionObjectContentNode(containerNode, container, 1);

            var memberNode = containerNode.Children.First();

            Helper.TestMemberContentNode(containerNode, memberNode, container, container.Struct, nameof(StructWithCollectionContainer.Struct), false);
            Helper.TestStructContentNode(memberNode, container.Struct, 1);
            var structMember1Node = memberNode.Children.First();

            Helper.TestMemberContentNode(memberNode, structMember1Node, container.Struct, container.Struct.Strings, nameof(StructWithCollection.Strings), false);
            structMember1Node.Content.Update("ddd", new Index(1));
            Assert.AreEqual("ddd", container.Struct.Strings[1]);
            Helper.TestMemberContentNode(memberNode, structMember1Node, container.Struct, container.Struct.Strings, nameof(StructWithCollection.Strings), false);
            Helper.TestMemberContentNode(memberNode, memberNode.Children.First(), container.Struct, container.Struct.Strings, nameof(StructWithCollection.Strings), false);
        }
Example #3
0
        public void TestSimpleStructCollectionUpdate()
        {
            var nodeContainer = new NodeContainer();
            var container = new StructWithCollectionContainer { Struct = new StructWithCollection { Strings = new List<string> { "aaa", "bbb" } } };
            var containerNode = nodeContainer.GetOrCreateNode(container);
            Helper.TestNonCollectionObjectContentNode(containerNode, container, 1);

            var memberNode = containerNode.Children.First();
            Helper.TestMemberContentNode(containerNode, memberNode, container, container.Struct, nameof(StructWithCollectionContainer.Struct), false);
            Helper.TestStructContentNode(memberNode, container.Struct, 1);
            var structMember1Node = memberNode.Children.First();
            Helper.TestMemberContentNode(memberNode, structMember1Node, container.Struct, container.Struct.Strings, nameof(StructWithCollection.Strings), false);
            structMember1Node.Content.Update("ddd", new Index(1));
            Assert.AreEqual("ddd", container.Struct.Strings[1]);
            Helper.TestMemberContentNode(memberNode, structMember1Node, container.Struct, container.Struct.Strings, nameof(StructWithCollection.Strings), false);
            Helper.TestMemberContentNode(memberNode, memberNode.Children.First(), container.Struct, container.Struct.Strings, nameof(StructWithCollection.Strings), false);
        }