Example #1
0
        public void TestEnumeration()
        {
            Child child = new Child()
            {
                Id = 1, Name = "child2", Parent = null
            };

            child.Add(new Grandchild()
            {
                Id = 2, Name = "granchild"
            });

            Child childCopy =
                child
                .Graph()
                .Add(c => c.Children)
                .Copy();

            Assert.AreNotSame(child, childCopy);
            Assert.AreEqual(1, childCopy.Id);

            Assert.AreNotSame(child.Children, childCopy.Children);
            Assert.AreEqual(1, childCopy.Children.Count());
            Assert.AreNotSame(child.Children.First(), childCopy.Children.First());
            Assert.AreEqual(2, childCopy.Children.First().Id);
            Assert.AreEqual("granchild", childCopy.Children.First().Name);
        }
Example #2
0
        public void TestCopySingleObjectIgnoreReferenceType()
        {
            Parent parent = Parent.Create().SetId(1).SetName("parent1");
            Child  child  = new Child()
            {
                Id = 2, Name = "child2", Parent = parent
            };

            Child childCopy = child.Graph().Copy();

            Assert.AreNotSame(child, childCopy);
            Assert.AreEqual(2, childCopy.Id);
            Assert.AreEqual("child2", childCopy.Name);
            Assert.AreEqual(null, childCopy.Parent);
        }
Example #3
0
        public void TestCopyNullReference()
        {
            Child child = new Child()
            {
                Id = 1, Name = "child2", Parent = null
            };

            Child childCopy =
                child
                .Graph()
                .Add(c => c.Parent)
                .Copy();

            Assert.IsNull(child.Parent, "parent is not null");
        }
Example #4
0
        public void TestCopySingleObjectAddReferenceType()
        {
            Parent parent = Parent.Create().SetId(1).SetName("parent1");
            Child  child  = new Child()
            {
                Id = 2, Name = "child2", Parent = parent
            };

            Child childCopy =
                child
                .Graph()
                .Add(c => c.Parent)
                .Copy();

            Assert.AreNotSame(child, childCopy);
            Assert.AreEqual(2, childCopy.Id);
            Assert.AreEqual("child2", childCopy.Name);

            Assert.IsNotNull(childCopy.Parent, "childCopy.Parent not copied");
            Assert.AreNotSame(parent, childCopy.Parent);
            Assert.AreEqual(1, childCopy.Parent.Id);
            Assert.AreEqual("parent1", childCopy.Parent.Name);
            Assert.AreEqual(0, childCopy.Parent.ChildList.Count);
        }
Example #5
0
        public void TestEnumeration()
        {
            Child child = new Child() { Id=1, Name="child2", Parent=null };
            child.Add(new Grandchild() { Id=2, Name="granchild" });

            Child childCopy =
                child
                    .Graph()
                    .Add(c => c.Children)
                    .Copy();

            Assert.AreNotSame(child, childCopy);
            Assert.AreEqual(1, childCopy.Id);

            Assert.AreNotSame(child.Children, childCopy.Children);
            Assert.AreEqual(1, childCopy.Children.Count());
            Assert.AreNotSame(child.Children.First(), childCopy.Children.First());
            Assert.AreEqual(2, childCopy.Children.First().Id);
            Assert.AreEqual("granchild", childCopy.Children.First().Name);
        }
Example #6
0
        public void TestCopySingleObjectIgnoreReferenceType()
        {
            Parent parent = Parent.Create().SetId(1).SetName("parent1");
            Child child = new Child() { Id=2, Name="child2", Parent=parent };

            Child childCopy = child.Graph().Copy();

            Assert.AreNotSame(child, childCopy);
            Assert.AreEqual(2, childCopy.Id);
            Assert.AreEqual("child2", childCopy.Name);
            Assert.AreEqual(null, childCopy.Parent);
        }
Example #7
0
        public void TestCopySingleObjectAddReferenceType()
        {
            Parent parent = Parent.Create().SetId(1).SetName("parent1");
            Child child = new Child() { Id=2, Name="child2", Parent=parent };

            Child childCopy =
                child
                    .Graph()
                    .Add(c => c.Parent)
                    .Copy();

            Assert.AreNotSame(child, childCopy);
            Assert.AreEqual(2, childCopy.Id);
            Assert.AreEqual("child2", childCopy.Name);

            Assert.IsNotNull(childCopy.Parent, "childCopy.Parent not copied");
            Assert.AreNotSame(parent, childCopy.Parent);
            Assert.AreEqual(1, childCopy.Parent.Id);
            Assert.AreEqual("parent1", childCopy.Parent.Name);
            Assert.AreEqual(0, childCopy.Parent.ChildList.Count);
        }
Example #8
0
        public void TestCopyNullReference()
        {
            Child child = new Child() { Id=1, Name="child2", Parent=null };

            Child childCopy =
                child
                    .Graph()
                    .Add(c => c.Parent)
                    .Copy();

            Assert.IsNull(child.Parent, "parent is not null");
        }