public void testWritingTaskWithExtras() throws Exception {
    JobInfo.Builder b =
        new Builder(8, mComponent)
            .setRequiresDeviceIdle(true)
            .setPeriodic(10000L)
            .setRequiresCharging(true)
            .setPersisted(true);

    PersistableBundle extras = new PersistableBundle();
    extras.putDouble("hello", 3.2);
    extras.putString("hi", "there");
    extras.putInt("into", 3);
    b.setExtras(extras);
    final JobInfo task = b.build();
    JobStatus taskStatus = JobStatus.createFromJobInfo(task, SOME_UID, null, -1, null);

    mTaskStoreUnderTest.add(taskStatus);
    Thread.sleep(IO_WAIT);

    final JobSet jobStatusSet = new JobSet();
    mTaskStoreUnderTest.readJobMapFromDisk(jobStatusSet);
    assertEquals("Incorrect # of persisted tasks.", 1, jobStatusSet.size());
    JobStatus loaded = jobStatusSet.getAllJobs().iterator().next();
    assertTasksEqual(task, loaded.getJob());
  }