public void TestComplexObjectDeserializaiton()
 {
     var provider = new SerializationFactoryProvider();
     provider.RegisterFactory(new SimpleObjectSerializer());
     provider.RegisterFactory(new ListObjectSerializer());
     provider.RegisterFactory(new AggregateObjectSerializer());
     provider.RegisterFactory(new ComplexObjectSerializer());
 }
        public void TestSimpleObjectSerializaiton()
        {
            var serializer = new XmlSerializer(normalXmlSerializerSettings);
            var provider = new SerializationFactoryProvider();
            provider.RegisterFactory(new SimpleObjectSerializer());

            using (var stream = new MemoryStream())
            {
                var simpleObject = new SimpleObject() { Active = true, Age = 54, Name = "Frank Fisher", Salary = 43927.14 };
                var result = serializer.WriteObjectAsync(stream, provider, simpleObject);
                result.Wait();

                stream.Seek(0, SeekOrigin.Begin);
                var reader = new StreamReader(stream);
                var xmlSerialization = reader.ReadToEnd();
                Assert.AreEqual("<?xml version=\"1.0\" encoding=\"utf-8\"?><SimpleObject __SerializationType=\"Object\" __SerializationKey=\"\" Active=\"True\" Age=\"54\" Name=\"Frank Fisher\" Salary=\"43927.14\" />", xmlSerialization);
            }
        }
        public void TestSimpleObjectDeserializaiton()
        {
            var serializer = new XmlSerializer(this.normalXmlSerializerSettings);
            var provider = new SerializationFactoryProvider();
            provider.RegisterFactory(new SimpleObjectSerializer());

            using (var stream = new MemoryStream())
            {
                var writer = new StreamWriter(stream);
                writer.Write("<?xml version=\"1.0\" encoding=\"utf-8\"?><SimpleObject __SerializationType=\"Object\" __SerializationKey=\"\" Active=\"True\" Age=\"54\" Name=\"Frank Fisher\" Salary=\"43927.14\" />");
                writer.Flush();
                stream.Seek(0, SeekOrigin.Begin);
                var result = serializer.ReadObjectAsync<SimpleObject>(stream, provider);
                var simpleObject = result.Result;

                Assert.AreEqual(true, simpleObject.Active);
                Assert.AreEqual(54, simpleObject.Age);
                Assert.AreEqual("Frank Fisher", simpleObject.Name);
                Assert.AreEqual(43927.14, simpleObject.Salary, 0.005);
            }
        }
 public void TestListObjectSerializaiton()
 {
     var provider = new SerializationFactoryProvider();
     provider.RegisterFactory(new SimpleObjectSerializer());
     provider.RegisterFactory(new ListObjectSerializer());
 }