//Dstl (c) Crown Copyright 2017 package uk.gov.dstl.baleen.annotators.grammatical; import static org.junit.Assert.assertEquals; import org.apache.uima.UIMAException; import org.apache.uima.analysis_engine.AnalysisEngine; import org.apache.uima.analysis_engine.AnalysisEngineDescription; import org.apache.uima.fit.factory.AnalysisEngineFactory; import org.apache.uima.fit.factory.ExternalResourceFactory; import org.apache.uima.fit.util.JCasUtil; import org.apache.uima.resource.ExternalResourceDescription; import org.junit.Before; import org.junit.Test; import uk.gov.dstl.baleen.annotators.grammatical.NPElement; import uk.gov.dstl.baleen.annotators.language.OpenNLP; import uk.gov.dstl.baleen.annotators.testing.AbstractAnnotatorTest; import uk.gov.dstl.baleen.resources.SharedOpenNLPModel; import uk.gov.dstl.baleen.types.common.Chemical; public class NPElementTest extends AbstractAnnotatorTest{ public NPElementTest(){ super(NPElement.class); } private AnalysisEngine languageAE; @Before public void before() throws UIMAException{ ExternalResourceDescription tokensDesc = ExternalResourceFactory.createExternalResourceDescription("tokens", SharedOpenNLPModel.class); ExternalResourceDescription sentencesDesc = ExternalResourceFactory.createExternalResourceDescription("sentences", SharedOpenNLPModel.class); ExternalResourceDescription posDesc = ExternalResourceFactory.createExternalResourceDescription("posTags", SharedOpenNLPModel.class); ExternalResourceDescription chunksDesc = ExternalResourceFactory.createExternalResourceDescription("phraseChunks", SharedOpenNLPModel.class); AnalysisEngineDescription desc = AnalysisEngineFactory.createEngineDescription(OpenNLP.class, "tokens", tokensDesc, "sentences", sentencesDesc, "posTags", posDesc, "phraseChunks", chunksDesc); languageAE = AnalysisEngineFactory.createEngine(desc); } @Test public void test() throws Exception{ jCas.setDocumentText("He used hydrogen peroxide to dye his hair. The diamond was made of carbon-12."); languageAE.process(jCas); processJCas(); assertEquals(2, JCasUtil.select(jCas, Chemical.class).size()); assertEquals("hydrogen peroxide", JCasUtil.selectByIndex(jCas, Chemical.class, 0).getCoveredText()); assertEquals("carbon-12", JCasUtil.selectByIndex(jCas, Chemical.class, 1).getCoveredText()); } }