You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by us...@apache.org on 2013/01/05 23:44:18 UTC

svn commit: r1429410 - /lucene/dev/trunk/solr/core/src/test/org/apache/solr/TestTrie.java

Author: uschindler
Date: Sat Jan  5 22:44:18 2013
New Revision: 1429410

URL: http://svn.apache.org/viewvc?rev=1429410&view=rev
Log:
SOLR-4275: Add test

Modified:
    lucene/dev/trunk/solr/core/src/test/org/apache/solr/TestTrie.java

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/TestTrie.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/TestTrie.java?rev=1429410&r1=1429409&r2=1429410&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/TestTrie.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/TestTrie.java Sat Jan  5 22:44:18 2013
@@ -16,6 +16,7 @@
  */
 package org.apache.solr;
 
+import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
 import org.apache.solr.request.SolrQueryRequest;
 import org.apache.solr.schema.DateField;
 import org.apache.solr.schema.FieldType;
@@ -47,6 +48,38 @@ public class TestTrie extends SolrTestCa
     clearIndex();
     super.tearDown();
   }
+  
+  @Test
+  public void testTokenizer() throws Exception {
+    FieldType type = h.getCore().getSchema().getFieldType("tint");
+    assertTrue(type instanceof TrieField);
+    
+    String value = String.valueOf(random().nextInt());
+    TokenStream ts = type.getAnalyzer().tokenStream("dummy", new StringReader(value));
+    OffsetAttribute ofsAtt = ts.addAttribute(OffsetAttribute.class);
+    ts.reset();
+    int count = 0;
+    while (ts.incrementToken()) {
+      count++;
+      assertEquals(0, ofsAtt.startOffset());
+      assertEquals(value.length(), ofsAtt.endOffset());
+    }
+    final int precStep = ((TrieType) type).getPrecisionStep();
+    assertEquals( (32 + precStep - 1) / precStep, count);
+    ts.end();
+    assertEquals(value.length(), ofsAtt.startOffset());
+    assertEquals(value.length(), ofsAtt.endOffset());
+    ts.close();
+    
+    // Test empty one:
+    ts = type.getAnalyzer().tokenStream("dummy", new StringReader(""));
+    ts.reset();
+    assertFalse(ts.incrementToken());
+    ts.end();
+    assertEquals(0, ofsAtt.startOffset());
+    assertEquals(0, ofsAtt.endOffset());
+    ts.close();    
+  }
 
   @Test
   public void testTrieIntRangeSearch() throws Exception {