Exemple #1
0
        public void DoSerializeAndDeserializer()
        {
            var loSourceDictionary = new DSE.Extensions.SerializableDictionary <String, _TestClass>();

            foreach (var lsId in Enumerable.Range(0, 10).Select(_ => Guid.NewGuid().ToString()))
            {
                loSourceDictionary.Add(lsId.ToUpper(), new _TestClass()
                {
                    Id = lsId.ToLower()
                });
            }

            var loSerializer = new XmlSerializer(loSourceDictionary.GetType());

            Assert.IsNotNull(loSerializer);

            var loWriterStream = new MemoryStream();
            var loWriter       = new StreamWriter(loWriterStream);

            loSerializer.Serialize(loWriter, loSourceDictionary);

            var laContents     = loWriterStream.ToArray();
            var loReaderStream = new MemoryStream(laContents);
            var loReader       = new StreamReader(loReaderStream);

            Assert.IsNotEmpty(laContents);

            var loDeserializedObject = loSerializer.Deserialize(loReader) as DSE.Extensions.SerializableDictionary <String, _TestClass>;

            Assert.IsNotNull(loDeserializedObject);
            Assert.AreEqual(loSourceDictionary.Count, loDeserializedObject.Count);

            var laSourceArray      = loSourceDictionary.ToArray();
            var laDestinationArray = loDeserializedObject.ToArray();

            for (var i = 0; i < laSourceArray.Length; i++)
            {
                Assert.AreEqual(laSourceArray[i].Key, laDestinationArray[i].Key);
                Assert.AreEqual(laSourceArray[i].Value.Id, laDestinationArray[i].Value.Id);
            }
        }
        public void DoSerializeAndDeserializer()
        {
            var loSourceDictionary = new DSE.Extensions.SerializableDictionary<String, _TestClass>();

            foreach (var lsId in Enumerable.Range(0, 10).Select(_ => Guid.NewGuid().ToString()))
                loSourceDictionary.Add(lsId.ToUpper(), new _TestClass() { Id = lsId.ToLower() });

            var loSerializer = new XmlSerializer(loSourceDictionary.GetType());

            Assert.IsNotNull(loSerializer);

            var loWriterStream = new MemoryStream();
            var loWriter = new StreamWriter(loWriterStream);

            loSerializer.Serialize(loWriter, loSourceDictionary);

            var laContents = loWriterStream.ToArray();
            var loReaderStream = new MemoryStream(laContents);
            var loReader = new StreamReader(loReaderStream);

            Assert.IsNotEmpty(laContents);

            var loDeserializedObject = loSerializer.Deserialize(loReader) as DSE.Extensions.SerializableDictionary<String, _TestClass>;

            Assert.IsNotNull(loDeserializedObject);
            Assert.AreEqual(loSourceDictionary.Count, loDeserializedObject.Count);

            var laSourceArray = loSourceDictionary.ToArray();
            var laDestinationArray = loDeserializedObject.ToArray();

            for (var i=0; i<laSourceArray.Length; i++)
            {
                Assert.AreEqual(laSourceArray[i].Key, laDestinationArray[i].Key);
                Assert.AreEqual(laSourceArray[i].Value.Id, laDestinationArray[i].Value.Id);
            }
        }