package com.github.btpka3.lucene.analysis; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.core.WhitespaceTokenizer; import org.apache.lucene.analysis.ngram.EdgeNGramTokenFilter; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; import org.junit.Assert; import org.junit.Test; import java.io.IOException; import java.io.StringReader; public class EdgeNGramTokenFilterTest { @Test public void test() throws IOException { TokenStream input = new WhitespaceTokenizer(new StringReader("abcde")); EdgeNGramTokenFilter tokenizer = new EdgeNGramTokenFilter(input, 1, 3); CharTermAttribute termAtt = tokenizer.getAttribute(CharTermAttribute.class); tokenizer.reset(); Assert.assertTrue(tokenizer.incrementToken()); Assert.assertEquals("a", termAtt.toString()); Assert.assertTrue(tokenizer.incrementToken()); Assert.assertEquals("ab", termAtt.toString()); Assert.assertTrue(tokenizer.incrementToken()); Assert.assertEquals("abc", termAtt.toString()); Assert.assertFalse(tokenizer.incrementToken()); tokenizer.close(); } }