public static void SerializeDeserializeObject_Equal_Success <T>(T obj1, XmlConvertOptions options) where T : new() { T obj2 = default(T); T obj3 = default(T); string xml = null; // Serializing and deserializing strings if (options == XmlConvertOptions.None) { xml = XmlConvert.SerializeObject(obj1); obj2 = XmlConvert.DeserializeObject <T>(xml); obj3 = (T)XmlConvert.DeserializeObject(obj1.GetType(), xml); } else { xml = XmlConvert.SerializeObject(obj1, options); obj2 = XmlConvert.DeserializeObject <T>(xml, options); obj3 = (T)XmlConvert.DeserializeObject(obj1.GetType(), xml, options); } Assert.Equal(obj1, obj2); Assert.Equal(obj1, obj3); // Serializing and deserializing XElements XElement element = null; if (options == XmlConvertOptions.None) { element = XmlConvert.SerializeXElement(obj1); obj2 = XmlConvert.DeserializeXElement <T>(element); obj3 = (T)XmlConvert.DeserializeXElement(obj1.GetType(), element); } else { element = XmlConvert.SerializeXElement(obj1, options); obj2 = XmlConvert.DeserializeXElement <T>(element, options); obj3 = (T)XmlConvert.DeserializeXElement(obj1.GetType(), element, options); } Assert.Equal(obj1, obj2); Assert.Equal(obj1, obj3); }
public static void Deserialize_XElement_Invalid() { Assert.Throws <ArgumentNullException>("type", () => XmlConvert.DeserializeXElement(null, new XElement("element"))); //Type is null Assert.Throws <ArgumentNullException>("element", () => XmlConvert.DeserializeXElement(typeof(string), null)); //Element is null }