@Test
  public void canValidate() {
    selectedTU = currentPageRows.get(0);
    presenter.setStatesForTesting(selectedTU.getId(), 0, display);
    when(display.getId()).thenReturn(selectedTU.getId());
    when(editor.getId()).thenReturn(selectedTU.getId());
    when(editor.getText()).thenReturn("target");
    when(sourceContentPresenter.getSourceContent(selectedTU.getId()))
        .thenReturn(Optional.of("source"));

    presenter.validate(editor);

    verify(eventBus).fireEvent(eventCaptor.capture());
    RunValidationEvent event = (RunValidationEvent) eventCaptor.getValue();
    assertThat(event.getSourceContent(), equalTo("source"));
    assertThat(event.getTarget(), equalTo("target"));
    assertThat(event.isFireNotification(), equalTo(false));
    assertThat(
        event.getWidgetList(),
        Matchers.<HasUpdateValidationWarning>containsInAnyOrder(editor, display));
  }