package com.orientechnologies.lucene.analyzer; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.en.EnglishAnalyzer; import org.apache.lucene.analysis.it.ItalianAnalyzer; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.junit.Test; import java.util.HashMap; import static org.assertj.core.api.Assertions.*; /** * Created by frank on 30/11/2015. */ public class OLucenePerFieldAnalyzerWrapperTest { @Test public void shouldReturnDefaultAnalyzerForEachField() throws Exception { OLucenePerFieldAnalyzerWrapper analyzer = new OLucenePerFieldAnalyzerWrapper(new StandardAnalyzer()); assertThat(analyzer.getWrappedAnalyzer("a_field")).isNotNull(); assertThat(analyzer.getWrappedAnalyzer("a_field")).isInstanceOf(StandardAnalyzer.class); } @Test public void shouldReturnCustomAnalyzerForEachField() throws Exception { OLucenePerFieldAnalyzerWrapper analyzer = new OLucenePerFieldAnalyzerWrapper(new StandardAnalyzer()); analyzer.add("text_en", new EnglishAnalyzer()); analyzer.add("text_it", new ItalianAnalyzer()); assertThat(analyzer.getWrappedAnalyzer("text_en")).isNotNull(); assertThat(analyzer.getWrappedAnalyzer("text_en")).isInstanceOf(EnglishAnalyzer.class); assertThat(analyzer.getWrappedAnalyzer("text_it")).isNotNull(); assertThat(analyzer.getWrappedAnalyzer("text_it")).isInstanceOf(ItalianAnalyzer.class); } @Test public void shouldReturnCustomAnalyzerForEachFieldInitializedByConstructor() throws Exception { OLucenePerFieldAnalyzerWrapper analyzer = new OLucenePerFieldAnalyzerWrapper(new StandardAnalyzer(), new HashMap<String, Analyzer>() {{ put("text_en", new EnglishAnalyzer()); put("text_it", new ItalianAnalyzer()); }}); assertThat(analyzer.getWrappedAnalyzer("text_en")).isNotNull(); assertThat(analyzer.getWrappedAnalyzer("text_en")).isInstanceOf(EnglishAnalyzer.class); assertThat(analyzer.getWrappedAnalyzer("text_it")).isNotNull(); assertThat(analyzer.getWrappedAnalyzer("text_it")).isInstanceOf(ItalianAnalyzer.class); } }