Пример #1
0
        public void TestMixListArraySerialize()
        {
            var dataItems = new[] { new DataItemTest242()
                                    {
                                        Name = "aaaaa"
                                    },
                                    new DataItemTest242()
                                    {
                                        Name = "bbbbb"
                                    } };

            var data = new DataTest242()
            {
                DataArray       = dataItems,
                DataIList       = dataItems.ToList(),
                DataList        = dataItems.ToList(),
                DataICollection = dataItems.ToList(),
                DataIEnumerable = dataItems.ToList()
            };

            // Serialize
            string xml;

            using (var stream = new MemoryStream())
            {
                var serializer = new DataContractSerializer(typeof(DataTest242));
                serializer.WriteObject(stream, data);
                xml = Encoding.UTF8.GetString(stream.ToArray());
            }

            // Deserialize
            DataTest242 clonedData;

            using (var reader = XmlDictionaryReader.CreateTextReader(Encoding.UTF8.GetBytes(xml), new XmlDictionaryReaderQuotas()))
            {
                var serializer = new DataContractSerializer(typeof(DataTest242));
                clonedData = (DataTest242)serializer.ReadObject(reader);
            }

            // ensure resulting object is populated
            Assert.AreEqual(clonedData.DataArray.Length, data.DataArray.Length, "#1 clonedData.DataArray.Length");
            Assert.AreEqual(clonedData.DataList.Count, data.DataList.Count, "#2 clonedData.DataList.Count");
            Assert.AreEqual(clonedData.DataIList.Count, data.DataIList.Count, "#3 clonedData.DataIList.Count");
            Assert.AreEqual(clonedData.DataICollection.Count, data.DataICollection.Count, "#4 clonedData.DataICollection.Count");
            Assert.AreEqual(clonedData.DataIEnumerable.Count(), data.DataIEnumerable.Count(), "#5 clonedData.DataIEnumerable.Count()");
        }
Пример #2
0
        public void TestMixListArraySerialize()
        {
            var dataItems  = new[] { new DataItemTest242 () { Name = "aaaaa" }, 
                                     new DataItemTest242 () { Name = "bbbbb" } };

            var data = new DataTest242 ()
            {
                DataArray       = dataItems,
                DataIList       = dataItems.ToList (),
                DataList        = dataItems.ToList (),
                DataICollection = dataItems.ToList (),
                DataIEnumerable = dataItems.ToList ()
            };

            // Serialize
            string xml;

            using (var stream = new MemoryStream ())
            {
                var serializer = new DataContractSerializer (typeof (DataTest242));
                serializer.WriteObject (stream, data);
                xml = Encoding.UTF8.GetString (stream.ToArray ());
            }

            // Deserialize
            DataTest242 clonedData;
            using (var reader = XmlDictionaryReader.CreateTextReader (Encoding.UTF8.GetBytes (xml), new XmlDictionaryReaderQuotas ()))
            {
                var serializer = new DataContractSerializer (typeof (DataTest242));
                clonedData     = (DataTest242)serializer.ReadObject (reader);
            }

            // ensure resulting object is populated
            Assert.AreEqual (clonedData.DataArray.Length , data.DataArray.Length,"#1 clonedData.DataArray.Length" );
            Assert.AreEqual (clonedData.DataList.Count, data.DataList.Count,"#2 clonedData.DataList.Count" );
            Assert.AreEqual (clonedData.DataIList.Count, data.DataIList.Count,"#3 clonedData.DataIList.Count" );
            Assert.AreEqual (clonedData.DataICollection.Count, data.DataICollection.Count,"#4 clonedData.DataICollection.Count" );
            Assert.AreEqual (clonedData.DataIEnumerable.Count (), data.DataIEnumerable.Count (),"#5 clonedData.DataIEnumerable.Count()" );
        }