### Question:
KnowledgeBasesPresenter extends Section<ProjectScreenModel> { void addKnowledgeBase() { knowledgeBaseListPresenter.add(newKBaseModel("")); fireChangeEvent(); } @Inject  KnowledgeBasesPresenter(final View view,
                                   final Event<SettingsSectionChange<ProjectScreenModel>> settingsSectionChangeEvent,
                                   final Promises promises,
                                   final MenuItem<ProjectScreenModel> menuItem,
                                   final KnowledgeBaseListPresenter knowledgeBaseListPresenter); @Override Promise<Void> setup(final ProjectScreenModel model); @Override Promise<Void> save(final String comment,
                              final Supplier<Promise<Void>> chain); @Override SectionView<?> getView(); @Override int currentHashCode();  }### Answer:
@Test public void testAddKnowledgeBase() { knowledgeBasesPresenter.addKnowledgeBase(); final KBaseModel kBaseModel = new KBaseModel(); kBaseModel.setName(""); kBaseModel.setDefault(knowledgeBaseListPresenter.getObjectsList().isEmpty()); verify(knowledgeBaseListPresenter).add(kBaseModel); verify(knowledgeBasesPresenter).fireChangeEvent(); }