// $HeadURL$ // $Id$ // // Copyright © 2006, 2010, 2011, 2012 by the President and Fellows of Harvard College. // // Screensaver is an open-source project developed by the ICCB-L and NSRB labs // at Harvard Medical School. This software is distributed under the terms of // the GNU General Public License. package edu.harvard.med.screensaver.ui.searchresults; import java.util.Set; import com.google.common.collect.Sets; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import edu.harvard.med.screensaver.model.screens.ProjectPhase; import edu.harvard.med.screensaver.model.screens.Screen; import edu.harvard.med.screensaver.model.screens.ScreenType; import edu.harvard.med.screensaver.model.screens.StudyType; import edu.harvard.med.screensaver.test.MakeDummyEntities; import edu.harvard.med.screensaver.ui.arch.view.AbstractBackingBeanTest; import edu.harvard.med.screensaver.ui.screens.ScreenSearchResults; public class ScreenSearchResultsTest extends AbstractBackingBeanTest { private static Logger log = Logger.getLogger(ScreenSearchResultsTest.class); @Autowired protected ScreenSearchResults screensBrowser; // public void testSearchMyScreens() // {} public void testSearchScreensForProject() { Screen screen1a = MakeDummyEntities.makeDummyScreen("1", ScreenType.RNAI, StudyType.IN_SILICO); Screen screen1b = MakeDummyEntities.makeDummyScreen("1f", ScreenType.RNAI, StudyType.IN_SILICO); Screen screen1c = MakeDummyEntities.makeDummyScreen("1c", ScreenType.RNAI, StudyType.IN_SILICO); screen1a.setProjectId("P1"); screen1b.setProjectId("P1"); screen1b.setProjectPhase(ProjectPhase.FOLLOW_UP_SCREEN); screen1c.setProjectId("P1"); screen1c.setProjectPhase(ProjectPhase.COUNTER_SCREEN); Screen screen2 = MakeDummyEntities.makeDummyScreen("2", ScreenType.RNAI, StudyType.IN_SILICO); screen2.setProjectId(null); Screen screen3 = MakeDummyEntities.makeDummyScreen("3", ScreenType.RNAI, StudyType.IN_SILICO); screen3.setProjectId("P3"); genericEntityDao.persistEntity(screen1a); genericEntityDao.persistEntity(screen1b); genericEntityDao.persistEntity(screen1c); genericEntityDao.persistEntity(screen2); genericEntityDao.persistEntity(screen3); screensBrowser.searchScreensForProject("P1"); screensBrowser.getRowCount(); Set<Screen> expectedScreens = Sets.newHashSet(genericEntityDao.findEntityById(Screen.class, screen1a.getEntityId()), genericEntityDao.findEntityById(Screen.class, screen1b.getEntityId()), genericEntityDao.findEntityById(Screen.class, screen1c.getEntityId())); Set<Screen> actualScreens = Sets.newHashSet(screensBrowser.getDataTableModel().iterator()); assertEquals(expectedScreens, actualScreens); } }