package com.stratio.cassandra.index.schema.analysis; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.en.EnglishAnalyzer; import org.apache.lucene.analysis.es.SpanishAnalyzer; import org.junit.Assert; import org.junit.Test; import java.util.HashMap; import java.util.Map; /** * @author Andres de la Pena <[email protected]> */ public class AnalysisTest { @Test public void testDefaultConstructor() { Analysis analysis = new Analysis(); Analyzer analyzer = analysis.getAnalyzer("English"); Assert.assertEquals(EnglishAnalyzer.class, analyzer.getClass()); } @Test public void testRegularConstructor() { Map<String, AnalyzerBuilder> analyzers = new HashMap<>(); analyzers.put("custom", new ClasspathAnalyzerBuilder("org.apache.lucene.analysis.es.SpanishAnalyzer")); Analysis analysis = new Analysis(analyzers); Analyzer englishAnalyzer = analysis.getAnalyzer("English"); Assert.assertEquals(EnglishAnalyzer.class, englishAnalyzer.getClass()); Analyzer customAnalyzer = analysis.getAnalyzer("custom"); Assert.assertEquals(SpanishAnalyzer.class, customAnalyzer.getClass()); } @Test public void testRegularConstructorWithNullAnalyzers() { Analysis analysis = new Analysis(null); Analyzer analyzer = analysis.getAnalyzer("English"); Assert.assertEquals(EnglishAnalyzer.class, analyzer.getClass()); } @Test public void testRegularConstructorWithEmptyAnalyzers() { Map<String, AnalyzerBuilder> analyzers = new HashMap<>(); Analysis analysis = new Analysis(analyzers); Analyzer analyzer = analysis.getAnalyzer("English"); Assert.assertEquals(EnglishAnalyzer.class, analyzer.getClass()); } @Test(expected = IllegalArgumentException.class) public void testGetAnalyzerNotExistent() { Analysis analysis = new Analysis(); analysis.getAnalyzer("custom"); } @Test(expected = IllegalArgumentException.class) public void testGetAnalyzerNull() { Analysis analysis = new Analysis(); analysis.getAnalyzer(null); } @Test(expected = IllegalArgumentException.class) public void testGetAnalyzerEmpty() { Analysis analysis = new Analysis(); analysis.getAnalyzer(" \t"); } }