### Question:
SettingsPresenter { public void onSettingsSectionChanged(@Observes final SettingsSectionChange<ProjectScreenModel> settingsSectionChange) { if (!sectionManager.manages(settingsSectionChange.getSection())) { return; } if (settingsSectionChange.getType() == SettingsSectionChangeType.CHANGE) { sectionManager.updateDirtyIndicator(settingsSectionChange.getSection()); } } @Inject  SettingsPresenter(final View view,
                             final Promises promises,
                             final Event<NotificationEvent> notificationEvent,
                             final @Customizable SettingsSections<ProjectScreenModel> settingsSections,
                             final SavePopUpPresenter savePopUpPresenter,
                             final Caller<ProjectScreenService> projectScreenService,
                             final WorkspaceProjectContext projectContext,
                             final ManagedInstance<ObservablePath> observablePaths,
                             final ConflictingRepositoriesPopup conflictingRepositoriesPopup,
                             final SectionManager<ProjectScreenModel> sectionManager,
                             final ProjectController projectController); @PostConstruct void setup(); Promise<Void> setupUsingCurrentSection(); void showSaveModal(); void onSettingsSectionChanged(@Observes final SettingsSectionChange<ProjectScreenModel> settingsSectionChange); boolean mayClose(); void reset(); View getView();  }### Answer:
@Test public void testOnSettingsSectionChanged() { final Section<ProjectScreenModel> section = newMockedSection(); doReturn(true).when(sectionManager).manages(eq(section)); presenter.onSettingsSectionChanged(new SettingsSectionChange<>(section, SettingsSectionChangeType.CHANGE)); verify(sectionManager).updateDirtyIndicator(eq(section)); }