//Dstl (c) Crown Copyright 2017 package uk.gov.dstl.baleen.annotators.grammatical; import static org.junit.Assert.assertEquals; import org.apache.uima.fit.util.JCasUtil; import org.junit.Test; import uk.gov.dstl.baleen.annotators.grammatical.NPTitleEntity; import uk.gov.dstl.baleen.annotators.grammatical.TOLocationEntity; import uk.gov.dstl.baleen.annotators.testing.AbstractAnnotatorTest; import uk.gov.dstl.baleen.annotators.testing.TestEntity; import uk.gov.dstl.baleen.types.common.Person; import uk.gov.dstl.baleen.types.language.PhraseChunk; /** * Tests for {@link TOLocationEntity}. * * */ public class NPTitleEntityTest extends AbstractAnnotatorTest { public NPTitleEntityTest() { super(NPTitleEntity.class); } @Test public void test() throws Exception { jCas.setDocumentText("Mr Alpha was overheard talking to Mullah Beta, His Royal Highness Charlie and Ms. Delta"); PhraseChunk pc1 = new PhraseChunk(jCas, 0, 8); pc1.setChunkType("NP"); pc1.addToIndexes(); PhraseChunk pc2 = new PhraseChunk(jCas, 9, 30); pc2.setChunkType("VP"); pc2.addToIndexes(); PhraseChunk pc3 = new PhraseChunk(jCas, 31, 33); pc3.setChunkType("PP"); pc3.addToIndexes(); PhraseChunk pc4 = new PhraseChunk(jCas, 34, 45); pc4.setChunkType("NP"); pc4.addToIndexes(); PhraseChunk pc5 = new PhraseChunk(jCas, 47, 73); pc5.setChunkType("NP"); pc5.addToIndexes(); PhraseChunk pc6 = new PhraseChunk(jCas, 78, 87); pc6.setChunkType("NP"); pc6.addToIndexes(); processJCas(); assertAnnotations(4, Person.class, new TestEntity<>(0, "Mr Alpha"), new TestEntity<>(1, "Mullah Beta"), new TestEntity<>(2, "His Royal Highness Charlie"), new TestEntity<>(3, "Ms. Delta")); Person p = JCasUtil.selectByIndex(jCas, Person.class, 0); assertEquals("Mr", p.getTitle()); p = JCasUtil.selectByIndex(jCas, Person.class, 1); assertEquals("Mullah", p.getTitle()); p = JCasUtil.selectByIndex(jCas, Person.class, 2); assertEquals("His Royal Highness", p.getTitle()); p = JCasUtil.selectByIndex(jCas, Person.class, 3); assertEquals("Ms", p.getTitle()); } }