public void TestExternalSurrogate() { var x = new CStdBaseObject { Name = "Alyssa", Age = 21 }; var c = new CSerializationContext(); var s = new CSerializer(c); var doc = s.Serialize(x); Print(doc); var elem = doc.DocumentElement; Assert.AreEqual(2, elem.ChildNodes.Count, "Child Node Count is wrong"); Assert.AreEqual(x.Name, XmlExtensions.GetElementValue(elem, "Name"), "Name"); Assert.AreEqual(x.Age.ToString(), XmlExtensions.GetElementValue(elem, "Age"), "Age"); Console.WriteLine( "\r\n\r\n-----------------------------------------------------------------------------\r\n\r\n"); c.RegisterExternalSurrogate(typeof(CStdBaseObject), new CStdExternalSurrogate()); doc = s.Serialize(x); Print(doc); elem = doc.DocumentElement; Assert.AreEqual(0, elem.ChildNodes.Count, "Child Node Count is wrong"); Assert.AreEqual(x.Name, XmlExtensions.GetAttributeValue(elem, "NAME"), "Name"); Assert.AreEqual(x.Age.ToString(), XmlExtensions.GetAttributeValue(elem, "AGE"), "Age"); }
public void TestStdBaseObject() { var x = new CStdBaseObject { Name = "Homer", Age = 40 }; var s = new CSerializer(); var doc = s.Serialize(x); Print(doc); var elem = doc.DocumentElement; Assert.AreEqual(2, elem.ChildNodes.Count, "Node Count"); Assert.AreEqual(x.Name, elem.SelectSingleNode("Name").InnerText, "Name"); Assert.AreEqual(x.Age.ToString(), elem.SelectSingleNode("Age").InnerText, "Age"); }