public void SerializationDictionaryWithReference()
        {
            var obj = new TestClassConcreteReferenceWithDictionary();

            obj.Parent = new TestClassConcreteReference()
            {
                Id = 1
            };
            var other = new TestClassConcreteReference {
                Id = 2, ObjectA = obj.Parent, ReferenceToObjectA = obj.Parent
            };

            obj.All = new Dictionary <int, TestClassConcreteReference>()
            {
                { 3, new TestClassConcreteReference {
                      Id = 3, ObjectA = obj.Parent, ReferenceToObjectA = obj.Parent
                  } },
                { 4, new TestClassConcreteReference {
                      Id = 4, ObjectA = other, ReferenceToObjectA = other
                  } },
                { 2, other },
                { 1, obj.Parent }
            };

            CheckSerializationAndDeserialization("ExtendedXmlSerializerTest.Resources.TestClassConcreteReferenceWithDictionary.xml", obj);
        }
        public void SerializationListWithReference()
        {
            var obj = new TestClassConcreteReferenceWithList();

            obj.Parent = new TestClassConcreteReference()
            {
                Id = 1
            };
            var other = new TestClassConcreteReference {
                Id = 2, ObjectA = obj.Parent, ReferenceToObjectA = obj.Parent
            };

            obj.All = new List <TestClassConcreteReference>
            {
                new TestClassConcreteReference {
                    Id = 3, ObjectA = obj.Parent, ReferenceToObjectA = obj.Parent
                },
                new TestClassConcreteReference {
                    Id = 4, ObjectA = other, ReferenceToObjectA = other
                },
                other,
                obj.Parent
            };

            CheckSerializationAndDeserialization("ExtendedXmlSerializerTest.Resources.TestClassConcreteReferenceWithList.xml", obj);
        }
        public void SerializationRefernece()
        {
            TestClassConcreteReference obj = new TestClassConcreteReference();

            obj.Id = 1;
            obj.CyclicReference = obj;
            obj.ObjectA         = new TestClassConcreteReference {
                Id = 2
            };
            obj.ReferenceToObjectA = obj.ObjectA;
            obj.Lists = new List <TestClassConcreteReference>
            {
                new TestClassConcreteReference {
                    Id = 3
                },
                new TestClassConcreteReference {
                    Id = 4
                }
            };

            CheckSerializationAndDeserialization("ExtendedXmlSerializerTest.Resources.TestClassConcreteReference.xml", obj);
        }
Exemplo n.º 4
0
        public void SerializationListOfInterfaceReference()
        {
            var parent = new TestClassConcreteReference {
                Id = 1
            };
            var other = new TestClassConcreteReference {
                Id = 2, ObjectA = parent, ReferenceToObjectA = parent
            };

            var obj = new List <TestClassConcreteReference>();

            obj.Add(new TestClassConcreteReference {
                Id = 3, ObjectA = parent, ReferenceToObjectA = parent
            });
            obj.Add(new TestClassConcreteReference {
                Id = 4, ObjectA = other, ReferenceToObjectA = other
            });
            obj.Add(other);
            obj.Add(parent);

            CheckSerializationAndDeserialization("ExtendedXmlSerializer.Tests.Legacy.Resources.ListOfConcreteReference.xml", obj);
        }