Return-Path: Delivered-To: apmail-jakarta-lucene-dev-archive@www.apache.org Received: (qmail 25875 invoked from network); 21 Sep 2003 13:45:37 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 21 Sep 2003 13:45:37 -0000 Received: (qmail 71754 invoked by uid 500); 21 Sep 2003 13:45:30 -0000 Delivered-To: apmail-jakarta-lucene-dev-archive@jakarta.apache.org Received: (qmail 71689 invoked by uid 500); 21 Sep 2003 13:45:30 -0000 Mailing-List: contact lucene-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Lucene Developers List" Reply-To: "Lucene Developers List" Delivered-To: mailing list lucene-dev@jakarta.apache.org Received: (qmail 71676 invoked by uid 500); 21 Sep 2003 13:45:30 -0000 Received: (qmail 71673 invoked from network); 21 Sep 2003 13:45:30 -0000 Received: from unknown (HELO minotaur.apache.org) (209.237.227.194) by daedalus.apache.org with SMTP; 21 Sep 2003 13:45:30 -0000 Received: (qmail 25853 invoked by uid 1419); 21 Sep 2003 13:45:33 -0000 Date: 21 Sep 2003 13:45:33 -0000 Message-ID: <20030921134533.25852.qmail@minotaur.apache.org> From: ehatcher@apache.org To: jakarta-lucene-cvs@apache.org Subject: cvs commit: jakarta-lucene/src/test/org/apache/lucene/search TestPositionIncrement.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N ehatcher 2003/09/21 06:45:33 Modified: src/test/org/apache/lucene/search TestPositionIncrement.java Log: add basic assertion of position increments test Revision Changes Path 1.3 +55 -41 jakarta-lucene/src/test/org/apache/lucene/search/TestPositionIncrement.java Index: TestPositionIncrement.java =================================================================== RCS file: /home/cvs/jakarta-lucene/src/test/org/apache/lucene/search/TestPositionIncrement.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- TestPositionIncrement.java 19 Oct 2002 17:02:43 -0000 1.2 +++ TestPositionIncrement.java 21 Sep 2003 13:45:33 -0000 1.3 @@ -63,44 +63,43 @@ import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.Token; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.WhitespaceAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import java.io.Reader; import java.io.IOException; +import java.io.StringReader; import junit.framework.TestCase; - /** - * Term position unit test. - * - * @author Doug Cutting - * @version $Revision$ - */ +/** + * Term position unit test. + * + * @author Doug Cutting + * @version $Revision$ + */ public class TestPositionIncrement extends TestCase { - public TestPositionIncrement(String name) { - super(name); - } - - public static void test() throws Exception { + public void testSetPosition() throws Exception { Analyzer analyzer = new Analyzer() { - public TokenStream tokenStream(String fieldName, Reader reader) { - return new TokenStream() { - private final String[] TOKENS = {"1", "2", "3", "4", "5"}; - private final int[] INCREMENTS = {1, 2, 1, 0, 1}; - private int i = 0; - public Token next() throws IOException { - if (i == TOKENS.length) - return null; - Token t = new Token(TOKENS[i], i, i); - t.setPositionIncrement(INCREMENTS[i]); - i++; - return t; - } - }; - } - }; + public TokenStream tokenStream(String fieldName, Reader reader) { + return new TokenStream() { + private final String[] TOKENS = {"1", "2", "3", "4", "5"}; + private final int[] INCREMENTS = {1, 2, 1, 0, 1}; + private int i = 0; + + public Token next() throws IOException { + if (i == TOKENS.length) + return null; + Token t = new Token(TOKENS[i], i, i); + t.setPositionIncrement(INCREMENTS[i]); + i++; + return t; + } + }; + } + }; RAMDirectory store = new RAMDirectory(); IndexWriter writer = new IndexWriter(store, analyzer, true); Document d = new Document(); @@ -114,46 +113,61 @@ Hits hits; q = new PhraseQuery(); - q.add(new Term("field","1")); - q.add(new Term("field","2")); + q.add(new Term("field", "1")); + q.add(new Term("field", "2")); hits = searcher.search(q); assertEquals(0, hits.length()); q = new PhraseQuery(); - q.add(new Term("field","2")); - q.add(new Term("field","3")); + q.add(new Term("field", "2")); + q.add(new Term("field", "3")); hits = searcher.search(q); assertEquals(1, hits.length()); q = new PhraseQuery(); - q.add(new Term("field","3")); - q.add(new Term("field","4")); + q.add(new Term("field", "3")); + q.add(new Term("field", "4")); hits = searcher.search(q); assertEquals(0, hits.length()); q = new PhraseQuery(); - q.add(new Term("field","2")); - q.add(new Term("field","4")); + q.add(new Term("field", "2")); + q.add(new Term("field", "4")); hits = searcher.search(q); assertEquals(1, hits.length()); q = new PhraseQuery(); - q.add(new Term("field","3")); - q.add(new Term("field","5")); + q.add(new Term("field", "3")); + q.add(new Term("field", "5")); hits = searcher.search(q); assertEquals(1, hits.length()); q = new PhraseQuery(); - q.add(new Term("field","4")); - q.add(new Term("field","5")); + q.add(new Term("field", "4")); + q.add(new Term("field", "5")); hits = searcher.search(q); assertEquals(1, hits.length()); q = new PhraseQuery(); - q.add(new Term("field","2")); - q.add(new Term("field","5")); + q.add(new Term("field", "2")); + q.add(new Term("field", "5")); hits = searcher.search(q); assertEquals(0, hits.length()); + } + /** + * Basic analyzer behavior should be to keep sequential terms in one + * increment from one another. + */ + public void testIncrementingPositions() throws Exception { + Analyzer analyzer = new WhitespaceAnalyzer(); + TokenStream ts = analyzer.tokenStream("field", + new StringReader("one two three four five")); + + while (true) { + Token token = ts.next(); + if (token == null) break; + assertEquals(token.termText(), 1, token.getPositionIncrement()); + } } } --------------------------------------------------------------------- To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: lucene-dev-help@jakarta.apache.org