### Question:
AnalysisReportScreen implements IsWidget { public void onSelect(final Issue issue) { view.showIssue(issue); fireIssueSelectedEvent(issue); } AnalysisReportScreen(); @Inject  AnalysisReportScreen(final AnalysisReportScreenView view,
                                final Event<IssueSelectedEvent> issueSelectedEvent); void showReport(final AnalysisReport report); void setCurrentPlace(final PlaceRequest place); @Override Widget asWidget(); void onSelect(final Issue issue); void showStatus(final Status status);  }### Answer:
@Test public void testOnSelect() throws Exception { Issue issue1 = new Issue(Severity.WARNING, CheckType.REDUNDANT_ROWS, Collections.emptySet()); Issue issue2 = new Issue(Severity.WARNING, CheckType.SINGLE_HIT_LOST, Collections.emptySet()); screen.showReport(getAnalysis(issue1, issue2)); verify(issueSelectedEvent, times(1)).fire(issueSelectedEventCaptor.capture()); assertEquals(issue1, issueSelectedEventCaptor.getValue().getIssue()); screen.onSelect(issue2); verify(view).showIssue(issue2); verify(issueSelectedEvent, times(2)).fire(issueSelectedEventCaptor.capture()); assertEquals(issue2, issueSelectedEventCaptor.getValue().getIssue()); }