@Test
  public void onUndoIsCalledWhenUndoEventIsObserved() {
    PreferencesCentralUndoChangesEvent event = new PreferencesCentralUndoChangesEvent();
    basePreferenceForm.undoChangesEvent(event);

    verify(basePreferenceForm).onUndo();
  }
  @Test
  public void beforeSaveIsCalledWhenPreSaveEventIsObserved() {
    PreferencesCentralPreSaveEvent event = new PreferencesCentralPreSaveEvent();
    basePreferenceForm.preSaveEvent(event);

    verify(basePreferenceForm).beforeSave();
  }
 @Before
 public void setup() {
   basePreferenceForm = spy(getBasePreferenceForm());
   Map<String, String> params = new HashMap<>();
   params.put("id", "preference-id");
   basePreferenceForm.onStartup(new DefaultPlaceRequest("preferenceForm", params));
 }
  @Test
  public void initIsNotCalledWhenDifferentFormIdIsRequested() {
    final BasePreferencePortable preference = mock(BasePreferencePortable.class);
    final PreferenceHierarchyElement hierarchyElement = new PreferenceHierarchyElement();
    hierarchyElement.setId("another-preference-id");
    hierarchyElement.setPortablePreference(preference);

    HierarchyItemFormInitializationEvent event =
        new HierarchyItemFormInitializationEvent(hierarchyElement);
    basePreferenceForm.hierarchyItemFormInitializationEvent(event);

    verify(basePreferenceForm, never()).init(any(BasePreferencePortable.class));
  }