### Question:
GeneralSettingsPresenter extends Section<ProjectScreenModel> { @Override public int currentHashCode() { int result = pom.hashCode(); result = 31 * result + (gavPreferences.isChildGAVEditEnabled() ? 1 : 2); result = ~~result; result = 31 * result + (gavPreferences.isConflictingGAVCheckDisabled() ? 4 : 8); result = ~~result; return result; } @Inject  GeneralSettingsPresenter(final View view,
                                    final Promises promises,
                                    final MenuItem<ProjectScreenModel> menuItem,
                                    final Caller<ValidationService> validationService,
                                    final Caller<WorkspaceProjectService> projectService,
                                    final Event<SettingsSectionChange<ProjectScreenModel>> settingsSectionChangeEvent,
                                    final GAVPreferences gavPreferences,
                                    final ProjectScopedResolutionStrategySupplier projectScopedResolutionStrategySupplier,
                                    final GitUrlsPresenter gitUrlsPresenter,
                                    final LibraryPlaces libraryPlaces); @Override Promise<Void> setup(final ProjectScreenModel model); @Override Promise<Object> validate(); @Override Promise<Void> save(final String comment,
                              final Supplier<Promise<Void>> chain); @Override int currentHashCode(); GitUrlsPresenter getGitUrlsPresenter(); @Override SectionView<?> getView();  }### Answer:
@Test public void testCurrentHashCode() { final POM pom = new POM("Name", "Description", "url", new GAV("GroupId:ArtifactId:Version"), false); generalSettingsPresenter.pom = pom; int originalHashCode = generalSettingsPresenter.currentHashCode(); doReturn(true).when(gavPreferences).isConflictingGAVCheckDisabled(); Assert.assertNotEquals(originalHashCode, generalSettingsPresenter.currentHashCode()); originalHashCode = generalSettingsPresenter.currentHashCode(); doReturn(true).when(gavPreferences).isChildGAVEditEnabled(); Assert.assertNotEquals(originalHashCode, generalSettingsPresenter.currentHashCode()); originalHashCode = generalSettingsPresenter.currentHashCode(); pom.setName("Name2"); Assert.assertNotEquals(originalHashCode, generalSettingsPresenter.currentHashCode()); }