1 26 27 29 package de.nava.informa.search; 30 31 import java.io.IOException ; 32 import java.net.MalformedURLException ; 33 import java.net.URL ; 34 import java.util.List ; 35 36 import de.nava.informa.core.ChannelGroupIF; 37 import de.nava.informa.core.ChannelIF; 38 import de.nava.informa.core.ItemIF; 39 import de.nava.informa.impl.basic.Channel; 40 import de.nava.informa.impl.basic.ChannelGroup; 41 import de.nava.informa.impl.basic.Item; 42 import de.nava.informa.utils.InformaTestCase; 43 44 45 46 public class TestChannelSearcher extends InformaTestCase { 47 48 ChannelGroupIF channels; 49 ItemIF itemA; 50 long channelId; 51 52 public TestChannelSearcher(String name) { 53 super("TestChannelSearcher", name); 54 } 55 56 protected void setUp() throws MalformedURLException { 57 ChannelIF channelA = new Channel("example.org"); 58 channelId = channelA.getId(); 59 itemA = new Item("Java 1.5 out", "Long awaited...", 60 new URL ("http://example.org/1234")); 61 channelA.addItem(itemA); 62 ItemIF itemB = new Item("XML virus found", "All about it here.", 63 new URL ("http://example.org/2345")); 64 channelA.addItem(itemB); 65 ItemIF itemC = new Item("Quiet Slashdot", "No news today.", 66 new URL ("http://example.org/3456")); 67 channelA.addItem(itemC); 68 channels = new ChannelGroup("Default"); 69 channels.add(channelA); 70 } 71 72 public void testIndexItems() throws IOException , QueryParseException { 73 assertEquals("Default", channels.getTitle()); 74 ChannelIF channelA = channels.getById(channelId); 75 assertEquals(3, channelA.getItems().size()); 76 ChannelIndexer indexer = new ChannelIndexer(getIndexDir()); 78 indexer.indexChannels(true, channels.getAll()); 79 assertEquals(getIndexDir(), indexer.getIndexDir()); 80 assertEquals(3, indexer.getNrOfIndexedItems()); 81 ChannelSearcher searcher = new ChannelSearcher(getIndexDir()); 83 List results = searcher.search(channels, "java"); 84 assertEquals(1, results.size()); 85 ItemResult result = (ItemResult) results.get(0); 86 assertEquals(itemA, result.getItem()); 87 assertEquals(0.63f, result.getScore(), 0.01f); 88 } 89 90 } 91 | Popular Tags |