예제 #1
0
 public void CircularReferenceTest()
 {
     var s = new XSerializer(typeof(SimpleObject1));
     var obj = new SimpleObject1 { Title = "Simple Object Test" };
     obj.CompositeArray.Add(obj);
     try
     {
         s.GetSerializedDocument(obj);
     }
     catch (Exception ex)
     {
         Trace.WriteLine(ex);
         throw;
     }
 }
예제 #2
0
 public void SerializationTest()
 {
     var s = new XSerializer(typeof(SimpleObject1));
     var obj = new SimpleObject1 {Title = "Simple Object Test", ExtraContent = "Extra content here."};
     obj.CompositeArray.Add("Hello, world!");
     obj.CompositeArray.Add(12345.67e89);
     obj.CompositeArray.Add(new SimpleObject1 { Title = "Child Object" });
     var doc = s.GetSerializedDocument(obj);
     Trace.WriteLine(doc);
     var obj1 = (SimpleObject1)s.Deserialize(doc, null);
     Assert.AreEqual(obj.Title, obj1.Title);
     Assert.AreEqual(obj.ExtraContent, obj1.ExtraContent);
     Assert.AreEqual(obj.Time, obj1.Time);
     Assert.AreEqual(obj.CompositeArray.Count, obj1.CompositeArray.Count);
     for (var i = 0; i < obj.CompositeArray.Count; i++)
     {
         if (!(obj.CompositeArray[i] is SimpleObject1))
             Assert.AreEqual(obj.CompositeArray[i], obj1.CompositeArray[i]);
     }
 }