public void BinderShouldBeUsedForProperties()
        {
            using (var serStream = new MemoryStream()) {
                var binder = new CustomSerBinder();

                // serialize
                var original = new BaseClass()
                {
                    Other = new OtherClass()
                };
                var formatter = new BinaryFormatter();
                formatter.Binder = binder;
                formatter.Serialize(serStream, original);

                // deserialize, making sure we're using a new formatter, just to be thorough
                formatter        = new BinaryFormatter();
                formatter.Binder = binder;
                serStream.Seek(0, SeekOrigin.Begin);
                var deserialized = formatter.Deserialize(serStream);

                Assert.AreEqual(original.GetType(), deserialized.GetType());
                Assert.AreEqual(original.Other.GetType(), ((BaseClass)deserialized).Other.GetType());
            }
        }
		public void BinderShouldBeUsedForProperties ()
		{
			using (var serStream = new MemoryStream ()) {
				var binder = new CustomSerBinder ();

				// serialize
				var original = new BaseClass () {
					Other = new OtherClass ()
				};
				var formatter = new BinaryFormatter ();
				formatter.Binder = binder;
				formatter.Serialize (serStream, original);

				// deserialize, making sure we're using a new formatter, just to be thorough
				formatter = new BinaryFormatter ();
				formatter.Binder = binder;
				serStream.Seek (0, SeekOrigin.Begin);
				var deserialized = formatter.Deserialize (serStream);

				Assert.AreEqual (original.GetType (), deserialized.GetType ());
				Assert.AreEqual (original.Other.GetType (), ((BaseClass)deserialized).Other.GetType ());
			}
		}