### Question:
KnowledgeBaseItemPresenter extends ListItemPresenter<KBaseModel, KnowledgeBasesPresenter, KnowledgeBaseItemPresenter.View> { @Override public KnowledgeBaseItemPresenter setup(final KBaseModel kBaseModel, final KnowledgeBasesPresenter parentPresenter) { this.kBaseModel = kBaseModel; this.parentPresenter = parentPresenter; view.init(this); view.setName(kBaseModel.getName()); view.setDefault(kBaseModel.isDefault()); view.setKnowledgeSessionsCount(kBaseModel.getKSessions().size()); knowledgeSessionsModal.setup(this); view.setupEqualBehaviorSelect(kBaseModel); view.setupEventProcessingModelSelect(kBaseModel); includedKnowledgeBasesListPresenter.setup( view.getIncludedKnowledgeBasesListElement(), kBaseModel.getIncludes(), (knowledgeBaseName, presenter) -> presenter.setup(knowledgeBaseName, this)); packageListPresenter.setup( view.getPackagesListElement(), kBaseModel.getPackages(), (packageName, presenter) -> presenter.setup(packageName, this)); return this; } @Inject  KnowledgeBaseItemPresenter(final View view,
                                      final Event<DefaultKnowledgeBaseChange> defaultKnowledgeBaseChangeEvent,
                                      final KnowledgeSessionsModal knowledgeSessionsModal,
                                      final IncludedKnowledgeBasesListPresenter includedKnowledgeBasesListPresenter,
                                      final PackageListPresenter packageListPresenter); @Override KnowledgeBaseItemPresenter setup(final KBaseModel kBaseModel,
                                            final KnowledgeBasesPresenter parentPresenter); @Override void remove(); void onNameChange(final String name); void fireChangeEvent(); @Override KBaseModel getObject(); void addNewIncludedKnowledgeBase(); void addPackage(); void showKnowledgeSessionsModal(); void signalAddedOrRemoved(); void setDefault(final boolean isDefault); void onDefaultKnowledgeSessionChanged(@Observes final DefaultKnowledgeBaseChange event);  }### Answer:
@Test public void testSetup() { final KnowledgeBaseItemPresenter setup = knowledgeBaseItemPresenter.setup(new KBaseModel(), mock(KnowledgeBasesPresenter.class)); Assert.assertEquals(setup, knowledgeBaseItemPresenter); verify(view).setKnowledgeSessionsCount(anyInt()); verify(view).setDefault(anyBoolean()); verify(view).setName(any()); verify(knowledgeSessionsModal).setup(any()); verify(packageListPresenter).setup(any(), any(), any()); verify(includedKnowledgeBasesListPresenter).setup(any(), any(), any()); verify(view).setupEventProcessingModelSelect(any()); verify(view).setupEqualBehaviorSelect(any()); }