### Question:
Listener1Assist implements ListenerAssist,
        ListenerModelHandler.ModelCreator<Listener1Assist.Listener1Model> { public void taskStart(DownloadTask task) { final Listener1Model model = modelHandler.addAndGetModel(task, null); if (callback != null) callback.taskStart(task, model); } Listener1Assist();   Listener1Assist(ListenerModelHandler<Listener1Model> handler); void setCallback(@NonNull Listener1Callback callback); void taskStart(DownloadTask task); void taskEnd(DownloadTask task, EndCause cause, @Nullable Exception realCause); void downloadFromBeginning(DownloadTask task,
                                      @NonNull BreakpointInfo info,
                                      ResumeFailedCause cause); void downloadFromBreakpoint(DownloadTask task, @NonNull BreakpointInfo info); void connectEnd(DownloadTask task); void fetchProgress(DownloadTask task, long increaseBytes); @Override boolean isAlwaysRecoverAssistModel(); @Override void setAlwaysRecoverAssistModel(boolean isAlwaysRecoverAssistModel); @Override void setAlwaysRecoverAssistModelIfNotSet(boolean isAlwaysRecoverAssistModel); @Override Listener1Model create(int id);  }### Answer:
@Test public void taskStart() { when(handler.addAndGetModel(task, null)).thenReturn(model); assist.taskStart(task); verify(callback).taskStart(eq(task), eq(model)); }