public void TestSerialization() { // Declare variables MemoryStream stream = null; // Create object var obj = new SerializableObject(); // Set some values obj.StringValue = "SerializationHelperTest"; obj.IntValue = 1; obj.BoolValue = false; obj.ObjectValue = DateTime.MinValue; // Create formatter #if NET var serializer = new BinaryFormatter(); #else var serializer = SerializationHelper.GetDataContractSerializer(typeof (SerializableObject), obj.GetType(), "test", obj, false); #endif #region Serialize to disk // Create stream using (stream = new MemoryStream()) { // Serialize #if NET serializer.Serialize(stream, obj); #else serializer.WriteObject(stream, obj); #endif #endregion #region Deserialize from disk // Reset stream position stream.Position = 0L; // Serialize #if NET obj = (SerializableObject)serializer.Deserialize(stream); #else obj = (SerializableObject) serializer.ReadObject(stream); #endif } #endregion // Test values Assert.AreEqual("SerializationHelperTest", obj.StringValue); Assert.AreEqual(1, obj.IntValue, 1); Assert.AreEqual(false, obj.BoolValue); Assert.AreEqual(DateTime.MinValue, obj.ObjectValue); }