コード例 #1
0
        /// <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;
        }
コード例 #2
0
        /// <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;
        }
コード例 #3
0
        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);
        }