Пример #1
0
        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");
        }
Пример #2
0
        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");
        }