### Question:
StatusUtil { public static boolean isSameTaskPendingOrRunning(@NonNull DownloadTask task) { return OkDownload.with().downloadDispatcher().findSameTask(task) != null; }  static boolean isSameTaskPendingOrRunning(@NonNull DownloadTask task); static Status getStatus(@NonNull DownloadTask task); static Status getStatus(@NonNull String url, @NonNull String parentPath,
                                   @Nullable String filename); static boolean isCompleted(@NonNull DownloadTask task); static Status isCompletedOrUnknown(@NonNull DownloadTask task); static boolean isCompleted(@NonNull String url, @NonNull String parentPath,
                                      @Nullable String filename); @Nullable static BreakpointInfo getCurrentInfo(@NonNull String url,
                                                          @NonNull String parentPath,
                                                          @Nullable String filename); @Nullable static BreakpointInfo getCurrentInfo(@NonNull DownloadTask task);  }### Answer:
@Test public void isSameTaskPendingOrRunning() throws IOException { mockOkDownload(); final DownloadTask task = mock(DownloadTask.class); final DownloadDispatcher dispatcher = OkDownload.with().downloadDispatcher(); when(dispatcher.findSameTask(task)).thenReturn(task); assertThat(StatusUtil.isSameTaskPendingOrRunning(task)).isTrue(); when(dispatcher.findSameTask(task)).thenReturn(null); assertThat(StatusUtil.isSameTaskPendingOrRunning(task)).isFalse(); }