private void CopyBytes(BsonStream inputStream, BsonStream outputStream, int count)
 {
     while (count > 0)
     {
         var chunkSize = Math.Min(count, _buffer.Length);
         inputStream.ReadBytes(_buffer, 0, chunkSize);
         outputStream.WriteBytes(_buffer, 0, chunkSize);
         count -= chunkSize;
     }
 }
        public void WriteBytes_should_throw_when_stream_is_null()
        {
            BsonStream stream = null;
            var        buffer = new byte[0];
            var        offset = 0;
            var        count  = 0;

            Action action = () => stream.WriteBytes(buffer, offset, count);

            action.ShouldThrow <ArgumentNullException>().And.ParamName.Should().Be("stream");
        }