public void Deserialize_ProviderNull()
        {
            SerializableObject          obj1     = new SerializableObject();
            BinarySerializationProvider provider = null;

            byte[] buffer = obj1.Serialize(provider);
        }
        public void RuntimeBinarySerializationForComparison()
        {
            SerializeMe serializeMe = InitializeMe();

            ISerializationProvider provider = new BinarySerializationProvider(new RuntimeBinaryFormatter());

            byte[] serializedMe = provider.Serialize(serializeMe);

            SerializeMe deserializedMe = provider.Deserialize <SerializeMe>(serializedMe);

            deserializedMe.LargeInteger.Should().Be(serializeMe.LargeInteger);
            deserializedMe.AnInteger.Should().Be(serializeMe.AnInteger);
            deserializedMe.SmallInteger.Should().Be(serializeMe.SmallInteger);
            deserializedMe.SomeDecimal.Should().Be(serializeMe.SomeDecimal);
            deserializedMe.DoubleTrouble.Should().Be(serializeMe.DoubleTrouble);
            deserializedMe.IsThisWrite.Should().Be(serializeMe.IsThisWrite);
            deserializedMe.WhenIWasInstanciated.Should().Be(serializeMe.WhenIWasInstanciated);
            deserializedMe.ArrayOfInts.Should().BeEquivalentTo(serializeMe.ArrayOfInts);
            deserializedMe.Guid.Should().Be(serializeMe.Guid);

            FluentActions.Invoking(() => deserializedMe.ThisShouldDoSomething()).Should().NotThrow();

            deserializedMe.WillReturnAnArrayOfInts().Should().BeEquivalentTo(serializeMe.ArrayOfInts);
        }