예제 #1
0
        public void TestRegisteredPrimitiveClassMember()
        {
            var obj = new RegisteredPrimitiveClassMember {
                Member = new PrimitiveClass {
                    Value = 1
                }
            };
            var container = new NodeContainer();

            container.NodeBuilder.RegisterPrimitiveType(typeof(PrimitiveClass));

            // Construction
            var containerNode = container.GetOrCreateNode(obj);

            Helper.TestNonCollectionObjectNode(containerNode, obj, 1);
            var memberNode = containerNode.Members.First();

            Helper.TestMemberNode(containerNode, memberNode, obj, obj.Member, nameof(RegisteredPrimitiveClassMember.Member), false);

            // Update from object
            obj.Member = new PrimitiveClass {
                Value = 2
            };
            Helper.TestMemberNode(containerNode, memberNode, obj, obj.Member, nameof(RegisteredPrimitiveClassMember.Member), false);

            // Update from Quantum
            containerNode.Members.First().Update(new PrimitiveClass {
                Value = 3
            });
            Helper.TestMemberNode(containerNode, memberNode, obj, obj.Member, nameof(RegisteredPrimitiveClassMember.Member), false);
        }
        public void TestRegisteredPrimitiveClassMember()
        {
            var obj = new RegisteredPrimitiveClassMember { Member = new PrimitiveClass { Value = 1 } };
            var container = new NodeContainer();
            container.NodeBuilder.RegisterPrimitiveType(typeof(PrimitiveClass));

            // Construction
            var containerNode = (GraphNode)container.GetOrCreateNode(obj);
            Helper.TestNonCollectionObjectContentNode(containerNode, obj, 1);
            var memberNode = containerNode.Children.First();
            Helper.TestMemberContentNode(containerNode, memberNode, obj, obj.Member, nameof(RegisteredPrimitiveClassMember.Member), false);

            // Update from object
            obj.Member = new PrimitiveClass { Value = 2 };
            Helper.TestMemberContentNode(containerNode, memberNode, obj, obj.Member, nameof(RegisteredPrimitiveClassMember.Member), false);

            // Update from Quantum
            containerNode.Children.First().Content.Update(new PrimitiveClass { Value = 3 });
            Helper.TestMemberContentNode(containerNode, memberNode, obj, obj.Member, nameof(RegisteredPrimitiveClassMember.Member), false);
        }