### Question:
PopulatedLibraryScreen { @PostConstruct public void setup() { view.init(this); if (userCanCreateProjects()) { addProjectButtonPresenter.enableTrySamples(); addProjectButtonPresenter.enableImportProject(); view.addAction(addProjectButtonPresenter.getView().getElement()); } libraryService.call((RemoteCallback<LibraryInfo>) this::setupLibrary) .getLibraryInfo(getOrganizationalUnit()); } @Inject  PopulatedLibraryScreen(final View view,
                                  final LibraryPlaces libraryPlaces,
                                  final Caller<LibraryService> libraryService,
                                  final ProjectController projectController,
                                  final WorkspaceProjectContext projectContext,
                                  final ManagedInstance<TileWidget<WorkspaceProject>> tileWidgets,
                                  final AddProjectButtonPresenter addProjectButtonPresenter,
                                  final Event<ProjectCountUpdate> projectCountUpdateEvent); @PostConstruct void setup(); List<TileWidget<WorkspaceProject>> filterProjects(final String filter); boolean userCanCreateProjects(); int getProjectsCount(); View getView(); void onNewProjectEvent(@Observes NewProjectEvent e); void onRepositoryRemovedEvent(@Observes RepositoryRemovedEvent e); void onAssetListUpdated(@Observes @Routed ProjectAssetListUpdated event);  }### Answer:
@Test public void setupTest() { verify(addProjectButtonPresenter).getView(); verify(view).addAction(any()); verify(view).clearFilterText(); verify(view).clearProjects(); verify(tileWidgets, times(3)).get(); TileWidget<WorkspaceProject> first = libraryScreen.libraryTiles.first(); verify(first).init(eq(PROJECT_1), any(), any()); TileWidget<WorkspaceProject> second = libraryScreen.libraryTiles.higher(first); verify(second).init(eq(PROJECT_2), any(), any()); TileWidget<WorkspaceProject> last = libraryScreen.libraryTiles.last(); verify(last).init(eq(PROJECT_3), any(), any()); verify(view, times(3)).addProject(any()); }