public void RoundTripsCorrectly(object instance, Type type) { var customSerializer = CustomSerializer.GetSerializer(type, null, TestXmlSerializerOptions.Empty); var defaultSerializer = new System.Xml.Serialization.XmlSerializer(type); var customXml = customSerializer.SerializeObject(instance, Encoding.UTF8, Formatting.Indented, new TestSerializeOptions()).StripXsiXsdDeclarations(); var defaultXml = defaultSerializer.SerializeObject(instance, Encoding.UTF8, Formatting.Indented, new TestSerializeOptions()).StripXsiXsdDeclarations(); Console.WriteLine("Default XML:"); Console.WriteLine(defaultXml); Console.WriteLine(); Console.WriteLine("Custom XML:"); Console.WriteLine(customXml); Assert.That(customXml, Is.EqualTo(defaultXml)); var customInstance = customSerializer.DeserializeObject(customXml); var defaultInstance = defaultSerializer.DeserializeObject(defaultXml); Assert.That(customInstance, Has.PropertiesEqualTo(defaultInstance)); Assert.That(customInstance, Has.PropertiesEqualTo(instance)); }
public void RoundTripsCorrectly(object instance, Type type) { var customSerializer = CustomSerializer.GetSerializer(type, null, TestXmlSerializerOptions.Empty); var defaultSerializer = new System.Xml.Serialization.XmlSerializer(type); var customXml = customSerializer.SerializeObject(instance, Encoding.UTF8, Formatting.Indented, new TestSerializeOptions()).StripXsiXsdDeclarations(); var defaultXml = defaultSerializer.SerializeObject(instance, Encoding.UTF8, Formatting.Indented, new TestSerializeOptions()).StripXsiXsdDeclarations(); Console.WriteLine("Default XML:"); Console.WriteLine(defaultXml); Console.WriteLine(); Console.WriteLine("Custom XML:"); Console.WriteLine(customXml); Assert.That(customXml, Is.EqualTo(defaultXml)); var customInstance = customSerializer.DeserializeObject(customXml); var defaultInstance = defaultSerializer.DeserializeObject(defaultXml); Assert.That(customInstance, Has.PropertiesEqualTo(defaultInstance)); Assert.That(customInstance, Has.PropertiesEqualTo(instance)); AdditionalAssertions(instance, type, customXml, defaultXml, customInstance, defaultInstance); }