AppsGridPresenterImpl implements AppsGridView.Presenter,
                                              AppNameSelectedEvent.AppNameSelectedEventHandler,
                                              AppRatingSelected.AppRatingSelectedHandler,
                                              AppRatingDeselected.AppRatingDeselectedHandler,
                                              AppCommentSelectedEvent.AppCommentSelectedEventHandler,
                                              AppFavoriteSelectedEvent.AppFavoriteSelectedEventHandler,
                                              AppUpdatedEvent.AppUpdatedEventHandler { @Override public void onAppRatingDeselected(final AppRatingDeselected event) { final App appToUnRate = event.getApp(); appUserService.deleteRating(appToUnRate, new DeleteRatingCallback(appToUnRate, eventBus)); } @Inject  AppsGridPresenterImpl(final AppsGridViewFactory viewFactory,
                          final ListStore<App> listStore,
                          final EventBus eventBus,
                          OntologyServiceFacade ontologyService); @Override HandlerRegistration addAppFavoritedEventHandler(AppFavoritedEvent.AppFavoritedEventHandler eventHandler); @Override HandlerRegistration addStoreAddHandler(StoreAddEvent.StoreAddHandler<App> handler); @Override HandlerRegistration addStoreClearHandler(StoreClearEvent.StoreClearHandler<App> handler); @Override HandlerRegistration addStoreRemoveHandler(StoreRemoveEvent.StoreRemoveHandler<App> handler); @Override HandlerRegistration addStoreUpdateHandler(StoreUpdateEvent.StoreUpdateHandler<App> handler); @Override void fireEvent(GwtEvent<?> event); App getDesiredSelectedApp(); @Override App getSelectedApp(); @Override AppsGridView getView(); @Override void onAppCategorySelectionChanged(AppCategorySelectionChangedEvent event); @Override void onOntologyHierarchySelectionChanged(OntologyHierarchySelectionChangedEvent event); @Override void onAppCommentSelectedEvent(AppCommentSelectedEvent event); @Override void onAppFavoriteSelected(AppFavoriteSelectedEvent event); @Override void onAppNameSelected(AppNameSelectedEvent event); @Override void onAppRatingDeselected(final AppRatingDeselected event); @Override void onAppRatingSelected(final AppRatingSelected event); @Override void onAppSearchResultLoad(AppSearchResultLoadEvent event); @Override void onAppUpdated(final AppUpdatedEvent event); @Override void onDeleteAppsSelected(final DeleteAppsSelected event); @Override void onRunAppSelected(RunAppSelected event); void setDesiredSelectedApp(final App desiredSelectedApp);  }
@Test public void verifyAppServiceCalled_onAppRatingDeselected() { AppRatingDeselected eventMock = mock(AppRatingDeselected.class); App appMock = mock(App.class); when(eventMock.getApp()).thenReturn(appMock); uut.onAppRatingDeselected(eventMock); verify(appUserServiceMock).deleteRating(eq(appMock), any(DeleteRatingCallback.class)); verifyNoMoreInteractions(appServiceMock, appMock); }