//Dstl (c) Crown Copyright 2017 package uk.gov.dstl.baleen.annotators.grammatical; import org.junit.Test; import uk.gov.dstl.baleen.annotators.grammatical.NPLocation; import uk.gov.dstl.baleen.annotators.testing.AbstractAnnotatorTest; import uk.gov.dstl.baleen.annotators.testing.TestEntity; import uk.gov.dstl.baleen.types.language.PhraseChunk; import uk.gov.dstl.baleen.types.semantic.Location; /** * Tests for {@link NPLocation}. * * */ public class NPLocationTest extends AbstractAnnotatorTest { public NPLocationTest() { super(NPLocation.class); } @Test public void test() throws Exception { jCas.setDocumentText("The target was seen entering the fast food restaurant at 0933."); PhraseChunk pc1 = new PhraseChunk(jCas, 0, 10); pc1.setChunkType("NP"); pc1.addToIndexes(); PhraseChunk pc2 = new PhraseChunk(jCas, 11, 28); pc2.setChunkType("VP"); pc2.addToIndexes(); PhraseChunk pc3 = new PhraseChunk(jCas, 29, 53); pc3.setChunkType("NP"); pc3.addToIndexes(); PhraseChunk pc4 = new PhraseChunk(jCas, 54, 56); pc4.setChunkType("IN"); pc4.addToIndexes(); PhraseChunk pc5 = new PhraseChunk(jCas, 57, 61); pc5.setChunkType("NP"); pc5.addToIndexes(); processJCas(); assertAnnotations(1, Location.class, new TestEntity<>(0, "the fast food restaurant")); } @Test public void testMidWord() throws Exception { jCas.setDocumentText("statement"); PhraseChunk pc1 = new PhraseChunk(jCas, 0, 9); pc1.setChunkType("NP"); pc1.addToIndexes(); processJCas(); assertAnnotations(0, Location.class); } @Test public void testPlural() throws Exception { jCas.setDocumentText("The target was seen entering the shops at 0933."); PhraseChunk pc1 = new PhraseChunk(jCas, 0, 10); pc1.setChunkType("NP"); pc1.addToIndexes(); PhraseChunk pc2 = new PhraseChunk(jCas, 11, 28); pc2.setChunkType("VP"); pc2.addToIndexes(); PhraseChunk pc3 = new PhraseChunk(jCas, 29, 38); pc3.setChunkType("NP"); pc3.addToIndexes(); PhraseChunk pc4 = new PhraseChunk(jCas, 39, 41); pc4.setChunkType("IN"); pc4.addToIndexes(); PhraseChunk pc5 = new PhraseChunk(jCas, 42, 46); pc5.setChunkType("NP"); pc5.addToIndexes(); processJCas(); assertAnnotations(1, Location.class, new TestEntity<>(0, "the shops")); } }