@Test
  public void testCloudPageBlobDownloadRangeToByteArray()
      throws URISyntaxException, StorageException, IOException {
    CloudPageBlob blob =
        this.container.getPageBlobReference(
            BlobTestHelper.generateRandomBlobNameWithPrefix("downloadrange"));

    BlobTestHelper.doDownloadRangeToByteArrayTest(
        blob,
        8 * 1024 * 1024,
        8 * 1024 * 1024,
        1 * 1024 * 1024,
        new Long(1 * 1024 * 1024),
        new Long(5 * 1024 * 1024));
    BlobTestHelper.doDownloadRangeToByteArrayTest(
        blob,
        8 * 1024 * 1024,
        8 * 1024 * 1024,
        2 * 1024 * 1024,
        new Long(2 * 1024 * 1024),
        new Long(6 * 1024 * 1024));
    BlobTestHelper.doDownloadRangeToByteArrayTest(
        blob,
        8 * 1024 * 1024,
        8 * 1024 * 1024,
        1 * 1024 * 1024,
        new Long(4 * 1024 * 1024),
        new Long(4 * 1024 * 1024));

    BlobTestHelper.doDownloadRangeToByteArrayTest(
        blob, 2 * 512, 4 * 512, 0, new Long(1 * 512), new Long(1 * 512));
    BlobTestHelper.doDownloadRangeToByteArrayTest(
        blob, 2 * 512, 4 * 512, 1 * 512, new Long(0), null);
    BlobTestHelper.doDownloadRangeToByteArrayTest(
        blob, 2 * 512, 4 * 512, 1 * 512, new Long(1 * 512), null);
    BlobTestHelper.doDownloadRangeToByteArrayTest(
        blob, 2 * 512, 4 * 512, 1 * 512, new Long(0), new Long(1 * 512));
    BlobTestHelper.doDownloadRangeToByteArrayTest(
        blob, 2 * 512, 4 * 512, 2 * 512, new Long(1 * 512), new Long(1 * 512));
    BlobTestHelper.doDownloadRangeToByteArrayTest(
        blob, 2 * 512, 4 * 512, 2 * 512, new Long(1 * 512), new Long(2 * 512));

    // Edge cases
    BlobTestHelper.doDownloadRangeToByteArrayTest(
        blob, 1024, 1024, 1023, new Long(1023), new Long(1));
    BlobTestHelper.doDownloadRangeToByteArrayTest(blob, 1024, 1024, 0, new Long(1023), new Long(1));
    BlobTestHelper.doDownloadRangeToByteArrayTest(blob, 1024, 1024, 0, new Long(0), new Long(1));
    BlobTestHelper.doDownloadRangeToByteArrayTest(blob, 1024, 1024, 0, new Long(512), new Long(1));
    BlobTestHelper.doDownloadRangeToByteArrayTest(
        blob, 1024, 1024, 512, new Long(1023), new Long(1));
  }