@Test public void test() throws Exception { populateJCas(jCas); processJCas(); assertEquals(1, JCasUtil.select(jCas, Person.class).size()); assertEquals(1, JCasUtil.select(jCas, Temporal.class).size()); assertEquals(1, JCasUtil.select(jCas, Location.class).size()); Temporal dt = JCasUtil.selectByIndex(jCas, Temporal.class, 0); assertEquals("December 1972", dt.getCoveredText()); Location l = JCasUtil.selectByIndex(jCas, Location.class, 0); assertEquals("Oxford", l.getCoveredText()); }
@Test public void test2() throws UIMAException { jCas.setDocumentText("It happened in northern Syria."); Location l = new Location(jCas, 24, 29); l.addToIndexes(); processJCas(); assertEquals("northern Syria", l.getCoveredText()); assertEquals(1, JCasUtil.select(jCas, Location.class).size()); }
@Test public void test() throws Exception { AnalysisEngine rneAE = AnalysisEngineFactory.createEngine(RemoveNestedEntities.class); populateJCas(jCas); rneAE.process(jCas); assertEquals(1, JCasUtil.select(jCas, Person.class).size()); assertEquals(1, JCasUtil.select(jCas, Temporal.class).size()); assertEquals(1, JCasUtil.select(jCas, Location.class).size()); Temporal dt = JCasUtil.selectByIndex(jCas, Temporal.class, 0); assertEquals("December 1972", dt.getCoveredText()); Location l = JCasUtil.selectByIndex(jCas, Location.class, 0); assertEquals("Oxford", l.getCoveredText()); }
@Test public void testNoQuantity() throws UIMAException { jCas.setDocumentText("The weapons were found 20 miles N of London"); Location l = new Location(jCas, 37, 43); l.addToIndexes(); processJCas(); assertEquals("N of London", l.getCoveredText()); assertEquals(0, JCasUtil.select(jCas, Quantity.class).size()); }
@Test public void testArea() throws UIMAException { jCas.setDocumentText("The weapons were found in the vicinity of Tower Bridge"); Location l = new Location(jCas, 42, 54); l.addToIndexes(); processJCas(); assertEquals("the vicinity of Tower Bridge", l.getCoveredText()); assertEquals(0, JCasUtil.select(jCas, Quantity.class).size()); } }
@Test public void test() throws Exception { jCas.setDocumentText("Hello world, this is a test"); processJCas(MONGO, erd, COLLECTION, MONGO_COLL, TYPE, LOCATION); assertEquals(1, JCasUtil.select(jCas, Location.class).size()); Location l = JCasUtil.selectByIndex(jCas, Location.class, 0); assertEquals(WORLD, l.getValue()); assertEquals(WORLD, l.getCoveredText()); }
@Test public void testRegex() throws Exception { jCas.setDocumentText("Hello Sydney (Australia), this is a test"); processJCas(MONGO, erd, COLLECTION, MONGO_COLL, TYPE, LOCATION); assertEquals(1, JCasUtil.select(jCas, Location.class).size()); Location l = JCasUtil.selectByIndex(jCas, Location.class, 0); assertEquals("Sydney (Australia", l.getValue()); assertEquals("Sydney (Australia", l.getCoveredText()); }
@Test public void testPeopleOfLocationKeepOriginal() throws Exception { jCas.setDocumentText("The people of Scotland voted in an independence referendum"); Location l = new Location(jCas, 14, 22); l.addToIndexes(); processJCas(People.PARAM_REMOVE_ORIGINAL, false); assertEquals(1, JCasUtil.select(jCas, Location.class).size()); assertEquals("Scotland", JCasUtil.selectByIndex(jCas, Location.class, 0).getCoveredText()); assertEquals(1, JCasUtil.select(jCas, Organisation.class).size()); assertEquals( "people of Scotland", JCasUtil.selectByIndex(jCas, Organisation.class, 0).getCoveredText()); }
@Test public void testOf() throws AnalysisEngineProcessException, ResourceInitializationException { jCas.setDocumentText("The city of Salisbury is busy on a Saturday."); Location theCity = new Location(jCas, 0, 8); Location salisbury = new Location(jCas, 12, 21); theCity.addToIndexes(); salisbury.addToIndexes(); processJCas(); assertEquals(1, JCasUtil.select(jCas, Location.class).size()); Location l = JCasUtil.selectByIndex(jCas, Location.class, 0); assertEquals("The city of Salisbury", l.getCoveredText()); } }
@Test public void testBorder1() throws AnalysisEngineProcessException, ResourceInitializationException { jCas.setDocumentText("The England-Wales border is a lovely area."); Location england = new Location(jCas, 4, 11); Location wales = new Location(jCas, 12, 17); england.addToIndexes(); wales.addToIndexes(); processJCas(); assertEquals(1, JCasUtil.select(jCas, Location.class).size()); Location l = JCasUtil.selectByIndex(jCas, Location.class, 0); assertEquals("England-Wales border", l.getCoveredText()); }
@Test public void testBorder2() throws AnalysisEngineProcessException, ResourceInitializationException { jCas.setDocumentText("The England-Wales border is a lovely area."); Location england = new Location(jCas, 4, 11); Location wales = new Location(jCas, 12, 24); england.addToIndexes(); wales.addToIndexes(); processJCas(); assertEquals(1, JCasUtil.select(jCas, Location.class).size()); Location l = JCasUtil.selectByIndex(jCas, Location.class, 0); assertEquals("England-Wales border", l.getCoveredText()); }
@Test public void testProperty() throws Exception { jCas.setDocumentText("Guy Fawkes was caught in London"); processJCas(MONGO, erd, COLLECTION, MONGO_COLL, TYPE, LOCATION); assertEquals(1, JCasUtil.select(jCas, Location.class).size()); Location lLon = JCasUtil.selectByIndex(jCas, Location.class, 0); assertEquals("London", lLon.getValue()); assertEquals("London", lLon.getCoveredText()); assertEquals(LONDON_GEOJSON.toJson(), lLon.getGeoJson()); }
@Test public void testCoref() throws Exception { jCas.setDocumentText("Hello World, Hello Earth"); processJCas(MONGO, erd, COLLECTION, MONGO_COLL, TYPE, LOCATION); assertEquals(2, JCasUtil.select(jCas, Location.class).size()); assertEquals(1, JCasUtil.select(jCas, ReferenceTarget.class).size()); ReferenceTarget rt = JCasUtil.selectByIndex(jCas, ReferenceTarget.class, 0); Location l1 = JCasUtil.selectByIndex(jCas, Location.class, 0); assertEquals("World", l1.getValue()); assertEquals("World", l1.getCoveredText()); assertEquals(rt, l1.getReferent()); Location l2 = JCasUtil.selectByIndex(jCas, Location.class, 1); assertEquals("Earth", l2.getValue()); assertEquals("Earth", l2.getCoveredText()); assertEquals(rt, l2.getReferent()); } }
@Test public void test() throws Exception { AnalysisEngineDescription aed = AnalysisEngineFactory.createEngineDescription( List.class, List.PARAM_TERMS, terms, List.PARAM_TYPE, LOCATION); AnalysisEngine ae = AnalysisEngineFactory.createEngine(aed); jCas.setDocumentText("Hello world, this is a test"); ae.process(jCas); assertEquals(1, JCasUtil.select(jCas, Location.class).size()); Location l = JCasUtil.selectByIndex(jCas, Location.class, 0); assertEquals(WORLD, l.getValue()); assertEquals(WORLD, l.getCoveredText()); ae.destroy(); }
@Test public void testProperty() throws Exception { jCas.setDocumentText("Hello London, this is a test"); processJCas(MONGO, erd, COLLECTION, MONGO_COLL, TYPE, LOCATION); assertEquals(1, JCasUtil.select(jCas, Location.class).size()); Location lLon = JCasUtil.selectByIndex(jCas, Location.class, 0); assertEquals("London", lLon.getValue()); assertEquals("London", lLon.getCoveredText()); assertEquals(LONDON_GEOJSON.toJson(), lLon.getGeoJson()); jCas.reset(); jCas.setDocumentText("Hello Madrid, this is a test"); processJCas(MONGO, erd, COLLECTION, MONGO_COLL, TYPE, LOCATION); assertEquals(1, JCasUtil.select(jCas, Location.class).size()); Location lMad = JCasUtil.selectByIndex(jCas, Location.class, 0); assertEquals("Madrid", lMad.getValue()); assertEquals("Madrid", lMad.getCoveredText()); assertEquals("Property Test", lMad.getGeoJson()); }
@Test public void testRemoveQuantity() throws UIMAException { jCas.setDocumentText("The weapons were found 20 miles north of London"); Quantity q = new Quantity(jCas); q.setBegin(23); q.setEnd(31); q.setSubType("distance"); q.addToIndexes(); Location l = new Location(jCas, 41, 47); l.addToIndexes(); processJCas(ExpandLocationToDescription.PARAM_REMOVE_QUANTITY, true); assertEquals("20 miles north of London", l.getCoveredText()); assertEquals(0, JCasUtil.select(jCas, Quantity.class).size()); }
@Test public void testmultipleHits() throws Exception { AnalysisEngineDescription aed = AnalysisEngineFactory.createEngineDescription( List.class, List.PARAM_TERMS, terms, List.PARAM_TYPE, LOCATION); AnalysisEngine ae = AnalysisEngineFactory.createEngine(aed); // the same search term appears multiple times in text... jCas.setDocumentText("Hello world, and hello world again."); ae.process(jCas); assertEquals(2, JCasUtil.select(jCas, Location.class).size()); Location l = JCasUtil.selectByIndex(jCas, Location.class, 0); assertEquals(WORLD, l.getValue()); assertEquals(WORLD, l.getCoveredText()); ae.destroy(); }
@Test public void test() throws UIMAException { jCas.setDocumentText("The weapons were found 50 miles south-west of London"); Quantity q = new Quantity(jCas); q.setBegin(23); q.setEnd(31); q.setSubType("distance"); q.addToIndexes(); Location l = new Location(jCas, 46, 52); l.addToIndexes(); processJCas(); assertEquals("50 miles south-west of London", l.getCoveredText()); assertEquals(1, JCasUtil.select(jCas, Quantity.class).size()); }
@Test public void testMultipleTypes() throws Exception { jCas.setDocumentText("John Smith was seen at London King's Cross"); Annotations.createPerson(jCas, 0, 4, "John"); Annotations.createPerson(jCas, 5, 10, "Smith"); Annotations.createLocation(jCas, 23, 29, "London", null); Annotations.createLocation(jCas, 30, 42, "King's Cross", null); processJCas("types", new String[] {"Person", "Location"}); assertEquals(1, JCasUtil.select(jCas, Person.class).size()); assertEquals(1, JCasUtil.select(jCas, Location.class).size()); Person p = JCasUtil.selectByIndex(jCas, Person.class, 0); assertEquals("John Smith", p.getCoveredText()); assertEquals("John Smith", p.getValue()); Location l = JCasUtil.selectByIndex(jCas, Location.class, 0); assertEquals("London King's Cross", l.getCoveredText()); assertEquals("London King's Cross", l.getValue()); }
@Test public void testMultipleAdjacentTypes() throws Exception { jCas.setDocumentText("John Smith London King's Cross"); Annotations.createPerson(jCas, 0, 4, "John"); Annotations.createPerson(jCas, 5, 10, "Smith"); Annotations.createLocation(jCas, 11, 17, "London", null); Annotations.createLocation(jCas, 18, 30, "King's Cross", null); processJCas("types", new String[] {"Person", "Location"}); assertEquals(1, JCasUtil.select(jCas, Person.class).size()); assertEquals(1, JCasUtil.select(jCas, Location.class).size()); Person p = JCasUtil.selectByIndex(jCas, Person.class, 0); assertEquals("John Smith", p.getCoveredText()); assertEquals("John Smith", p.getValue()); Location l = JCasUtil.selectByIndex(jCas, Location.class, 0); assertEquals("London King's Cross", l.getCoveredText()); assertEquals("London King's Cross", l.getValue()); }