### Question:
NGramTokenizerFactory implements TokenizerFactory { @Override public Tokenizer create(String toTokenize) { Tokenizer t1 = tokenizerFactory.create(toTokenize); t1.setTokenPreProcessor(preProcess); Tokenizer ret = new NGramTokenizer(t1, minN, maxN); return ret; } NGramTokenizerFactory(TokenizerFactory tokenizerFactory, Integer minN, Integer maxN); @Override Tokenizer create(String toTokenize); @Override Tokenizer create(InputStream toTokenize); @Override void setTokenPreProcessor(TokenPreProcess preProcessor); @Override TokenPreProcess getTokenPreProcessor();  }### Answer:
@Test public void testEmptyLines_1() throws Exception { val string = ""; val tokens = new NGramTokenizerFactory(new DefaultTokenizerFactory(), 1, 2).create(string).getTokens(); assertEquals(0, tokens.size()); }
@Test public void testEmptyLines_3() throws Exception { val string = "\n"; val tokens = new NGramTokenizerFactory(new DefaultTokenizerFactory(), 1, 2).create(string).getTokens(); assertEquals(0, tokens.size()); }
@Test public void testEmptyLines_4() throws Exception { val string = " "; val tokens = new NGramTokenizerFactory(new DefaultTokenizerFactory(), 1, 2).create(string).getTokens(); assertEquals(0, tokens.size()); }