public void ReadBytes_with_count_should_throw_when_stream_is_null()
        {
            BsonStream stream = null;

            Action action = () => stream.ReadBytes(1);

            action.ShouldThrow <ArgumentNullException>().And.ParamName.Should().Be("stream");
        }
        public void ReadBytes_with_buffer_should_throw_when_stream_is_null()
        {
            BsonStream stream = null;
            var        buffer = new byte[0];

            Action action = () => stream.ReadBytes(buffer, 0, 0);

            action.ShouldThrow <ArgumentNullException>().And.ParamName.Should().Be("stream");
        }
 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;
     }
 }