public void TestChild()
        {
            IMLTest test = new IMLTest { Child = CreateChild() },
                    clone = Serializer.DeepClone(test);

            CheckChild(test.Child, clone.Child);
        }
        public void TestParent()
        {
            IMLTest test = new IMLTest { Parent = CreateChild() },
                    clone = Serializer.DeepClone(test);

            CheckParent(test.Parent, clone.Parent);
        }
        public void TestChildren()
        {
            IMLTest test = new IMLTest() { Children = { CreateChild() } },
                    clone = Serializer.DeepClone(test);

            Assert.AreEqual(1, test.Children.Count);
            Assert.AreEqual(1, clone.Children.Count);
            CheckChild(test.Children[0], clone.Children[0]);
        }
        public void TestParents()
        {
            IMLTest test = new IMLTest() {Parents = {CreateChild()}},
                    clone = Serializer.DeepClone(test);

            Assert.AreEqual(1, test.Parents.Count);
            Assert.AreEqual(1, clone.Parents.Count);
            CheckParent(test.Parents[0], clone.Parents[0]);
        }
        public void TestChild()
        {
            IMLTest test = new IMLTest {
                Child = CreateChild()
            },
                    clone = Serializer.DeepClone(test);

            CheckChild(test.Child, clone.Child);
        }
        public void TestParent()
        {
            IMLTest test = new IMLTest {
                Parent = CreateChild()
            },
                    clone = Serializer.DeepClone(test);

            CheckParent(test.Parent, clone.Parent);
        }
        public void TestChildren()
        {
            IMLTest test = new IMLTest()
            {
                Children = { CreateChild() }
            },
                    clone = Serializer.DeepClone(test);

            Assert.AreEqual(1, test.Children.Count);
            Assert.AreEqual(1, clone.Children.Count);
            CheckChild(test.Children[0], clone.Children[0]);
        }
        public void TestParents()
        {
            IMLTest test = new IMLTest()
            {
                Parents = { CreateChild() }
            },
                    clone = Serializer.DeepClone(test);

            Assert.AreEqual(1, test.Parents.Count);
            Assert.AreEqual(1, clone.Parents.Count);
            CheckParent(test.Parents[0], clone.Parents[0]);
        }
        public void TestParents()
        {
            IMLTest test = new IMLTest()
            {
                Parents = { CreateChild() }
            },
                    clone = Serializer.DeepClone(test);

            Assert.Single(test.Parents);
            Assert.Single(clone.Parents);
            CheckParent(test.Parents[0], clone.Parents[0]);
        }
        public void TestChildren()
        {
            IMLTest test = new IMLTest()
            {
                Children = { CreateChild() }
            },
                    clone = Serializer.DeepClone(test);

            Assert.Single(test.Children);
            Assert.Single(clone.Children);
            CheckChild(test.Children[0], clone.Children[0]);
        }