private void doUploadDownloadFileTest(CloudPageBlob blob, int fileSize)
      throws IOException, StorageException {
    File sourceFile = File.createTempFile("sourceFile", ".tmp");
    File destinationFile = new File(sourceFile.getParentFile(), "destinationFile.tmp");

    try {

      byte[] buffer = BlobTestHelper.getRandomBuffer(fileSize);
      FileOutputStream fos = new FileOutputStream(sourceFile);
      fos.write(buffer);
      fos.close();
      blob.uploadFromFile(sourceFile.getAbsolutePath());

      blob.downloadToFile(destinationFile.getAbsolutePath());
      assertTrue("Destination file does not exist.", destinationFile.exists());
      assertEquals(
          "Destination file does not match input file.", fileSize, destinationFile.length());
      FileInputStream fis = new FileInputStream(destinationFile);

      byte[] readBuffer = new byte[fileSize];
      fis.read(readBuffer);
      fis.close();

      for (int i = 0; i < fileSize; i++) {
        assertEquals("File contents do not match.", buffer[i], readBuffer[i]);
      }
    } finally {
      if (sourceFile.exists()) {
        sourceFile.delete();
      }

      if (destinationFile.exists()) {
        destinationFile.delete();
      }
    }
  }