@Test
  public void onStop_unbindsAfterRemoteException() throws Exception {
    connection.onServiceConnected(null, binderMock);
    binderMock.verifyStartArguments(jobData, noopCallback);
    assertFalse(connection.wasUnbound());

    binderMock.setStopException(new RemoteException("something bad happened"));
    connection.onStop(job, true);
    binderMock.verifyStopArguments(jobData, true);
    assertTrue(connection.wasUnbound());
    verify(contextMock).unbindService(connection);
  }
The combination of Mockito and ShadowBinder ends up meaning we can't just wrap the IBinder in a
spy. So this is a manually created mock object.
jobdispatcher/src/test/java/com/firebase/jobdispatcher/JobServiceConnectionTest.java