/// <summary> /// Serializes the given order using the standard .NET Xml Serializer /// </summary> /// <param name="order">The order</param> /// <returns>The serialized order</returns> public string Serialize(Order order) { string result = null; var serializer = new XmlSerializer(typeof(Order)); using (var stringWriter = new StringWriter()) { serializer.Serialize(stringWriter, order); result = stringWriter.ToString(); } return result; }
/// <summary> /// Serializes the given order using the Data Contract Serializer /// </summary> /// <param name="order">The order</param> /// <returns>The serialized order</returns> public string Serialize(Order order) { string result = null; var serializer = new DataContractSerializer(typeof(Order)); using (var memoryStream = new MemoryStream()) { serializer.WriteObject(memoryStream, order); result = Encoding.UTF8.GetString(memoryStream.ToArray()); } return result; }
public void FactoryMethod_Should_ReturnXmlSerializer() { // Arrange var order = new Order { Id = 123, Name = "Test Order", Placed = DateTime.UtcNow }; var serializer = OrderSerializerFactory.GetSerializer(); // Act var result = serializer.Serialize(order); // Assert Assert.IsInstanceOfType(serializer, typeof(OrderXmlSerializer)); Assert.IsNotNull(result); }