### Question:
RemoteCall { @WorkerThread public RemoteResult call() throws RemoteException { Preconditions.checkState( !Looper.getMainLooper().isCurrentThread(), "Can't call call() on main thread"); if (!mFuture.isDone()) { if (mTimeoutMs == 0L) { timeOut(); } else { Handler.getMain().postDelayed(this::timeOut, mTimeoutMs); mCallable.call(new FutureBackupCallback(mFuture)); } } try { return mFuture.get(); } catch (InterruptedException e) { return RemoteResult.FAILED_THREAD_INTERRUPTED; } catch (ExecutionException e) { throw new IllegalStateException("Future unexpectedly completed with an exception"); } } RemoteCall(RemoteCallable<IBackupCallback> callable, long timeoutMs);  RemoteCall(boolean cancelled, RemoteCallable<IBackupCallback> callable, long timeoutMs); static RemoteResult execute(RemoteCallable<IBackupCallback> callable, long timeoutMs); @WorkerThread RemoteResult call(); void cancel();  }### Answer:
@Test public void testCall_whenCancelledAndImmediateCallableAndTimeOut0_doesNotCallCallable() throws Exception { RemoteCall remoteCall = new RemoteCall(true, IMMEDIATE_CALLABLE, 0); runInWorkerThread(remoteCall::call); verify(mCallable, never()).call(any()); }
@Test public void testCall_whenTimeOut0_doesNotCallCallable() throws Exception { RemoteCall remoteCall = new RemoteCall(mCallable, 0); runInWorkerThread(remoteCall::call); verify(mCallable, never()).call(any()); }