@Test
  public void willIgnoreSavePendingIfNoChange() {
    // Given: display new targets is equal to cached targets
    selectedTU = currentPageRows.get(0);
    presenter.setStatesForTesting(selectedTU.getId(), 0, display);
    when(display.getCachedTargets()).thenReturn(CACHED_TARGETS);
    when(display.getNewTargets()).thenReturn(CACHED_TARGETS);

    // When:
    presenter.savePendingChangesIfApplicable();

    // Then:
    verifyZeroInteractions(eventBus);
    verify(display, never()).revertEditorContents();
  }
  @Test
  public void canSavePendingChangesIfContentHasChanged() {
    // Given:
    selectedTU = currentPageRows.get(0);
    presenter.setStatesForTesting(selectedTU.getId(), 0, display);
    when(display.getCachedTargets()).thenReturn(CACHED_TARGETS);
    when(display.getNewTargets()).thenReturn(NEW_TARGETS);
    when(display.getId()).thenReturn(selectedTU.getId());
    when(display.getVerNum()).thenReturn(99);

    // When:
    presenter.savePendingChangesIfApplicable();

    // Then:
    verify(eventBus)
        .fireEvent(
            new TransUnitSaveEvent(
                NEW_TARGETS, ContentState.Approved, selectedTU.getId(), 99, CACHED_TARGETS));
  }