package org.limewire.ui.swing.search.model; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.limewire.core.api.FilePropertyKey; import junit.framework.TestCase; /** * Test case for VisualSearchResultTextFilterator. */ public class VisualSearchResultTextFilteratorTest extends TestCase { /** Instance of class to be tested. */ private VisualSearchResultTextFilterator filterator; @Override protected void setUp() throws Exception { super.setUp(); filterator = new VisualSearchResultTextFilterator(); } @Override protected void tearDown() throws Exception { filterator = null; super.tearDown(); } /** Tests method to retrieve filter strings. */ public void testGetFilterStrings() { // Define test values. final String PROPERTY_1 = "Title"; final String PROPERTY_2 = "Author"; // Create test search result, and add indexable properties. MockVisualSearchResult vsr = new MockVisualSearchResult("Test"); Map<FilePropertyKey, Object> propertyMap = vsr.getProperties(); propertyMap.put(FilePropertyKey.TITLE, PROPERTY_1); propertyMap.put(FilePropertyKey.AUTHOR, PROPERTY_2); // Get filter strings from filterator. List<String> stringList = new ArrayList<String>(); filterator.getFilterStrings(stringList, vsr); // Verify indexable properties are in list. boolean found1 = false; boolean found2 = false; for (String item : stringList) { if (PROPERTY_1.equals(item)) { found1 = true; } else if (PROPERTY_2.equals(item)) { found2 = true; } } assertTrue("filter string 1", found1); assertTrue("filter string 2", found2); } }