@Test public void testPlural() throws Exception { jCas.setDocumentText( "They were last seen running towards the school, making a nuisance of themselves."); addWordTokens(jCas); processJCas(); assertEquals(2, JCasUtil.select(jCas, Organisation.class).size()); assertEquals("They", JCasUtil.selectByIndex(jCas, Organisation.class, 0).getCoveredText()); assertEquals( "themselves", JCasUtil.selectByIndex(jCas, Organisation.class, 1).getCoveredText()); assertEquals(0, JCasUtil.select(jCas, Person.class).size()); }
@Test public void testNationalityPeople() throws Exception { jCas.setDocumentText("The Scottish people voted in an independence referendum"); Nationality n = new Nationality(jCas, 4, 12); n.addToIndexes(); processJCas(); assertEquals(0, JCasUtil.select(jCas, Nationality.class).size()); assertEquals(1, JCasUtil.select(jCas, Organisation.class).size()); assertEquals( "Scottish people", JCasUtil.selectByIndex(jCas, Organisation.class, 0).getCoveredText()); }
@Test public void testQuantityPeople() throws Exception { jCas.setDocumentText("47,000 people voted in an independence referendum"); Quantity n = new Quantity(jCas, 0, 6); n.addToIndexes(); processJCas(); assertEquals(0, JCasUtil.select(jCas, Quantity.class).size()); assertEquals(1, JCasUtil.select(jCas, Organisation.class).size()); assertEquals( "47,000 people", JCasUtil.selectByIndex(jCas, Organisation.class, 0).getCoveredText()); }
@Test public void testPeopleOfLocation() throws Exception { jCas.setDocumentText("The people of Scotland voted in an independence referendum"); Location l = new Location(jCas, 14, 22); l.addToIndexes(); processJCas(); assertEquals(0, JCasUtil.select(jCas, Location.class).size()); assertEquals(1, JCasUtil.select(jCas, Organisation.class).size()); assertEquals( "people of Scotland", JCasUtil.selectByIndex(jCas, Organisation.class, 0).getCoveredText()); }
@Test public void testNationalityPeopleKeepOriginal() throws Exception { jCas.setDocumentText("The Scottish people voted in an independence referendum"); Nationality n = new Nationality(jCas, 4, 12); n.addToIndexes(); processJCas(People.PARAM_REMOVE_ORIGINAL, false); assertEquals(1, JCasUtil.select(jCas, Nationality.class).size()); assertEquals("Scottish", JCasUtil.selectByIndex(jCas, Nationality.class, 0).getCoveredText()); assertEquals(1, JCasUtil.select(jCas, Organisation.class).size()); assertEquals( "Scottish people", JCasUtil.selectByIndex(jCas, Organisation.class, 0).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 testQuantityPeopleKeepOriginal() throws Exception { jCas.setDocumentText("47,000 people voted in an independence referendum"); Quantity n = new Quantity(jCas, 0, 6); n.addToIndexes(); processJCas(People.PARAM_REMOVE_ORIGINAL, false); assertEquals(1, JCasUtil.select(jCas, Quantity.class).size()); assertEquals("47,000", JCasUtil.selectByIndex(jCas, Quantity.class, 0).getCoveredText()); assertEquals(1, JCasUtil.select(jCas, Organisation.class).size()); assertEquals( "47,000 people", JCasUtil.selectByIndex(jCas, Organisation.class, 0).getCoveredText()); } }
@Test public void testNoPerson() throws Exception { jCas.setDocumentText("The UN Senior Advisor released a statement"); Organisation o = new Organisation(jCas, 4, 6); o.addToIndexes(); processJCas(); assertEquals(1, JCasUtil.select(jCas, Relation.class).size()); Relation r = JCasUtil.selectByIndex(jCas, Relation.class, 0); assertEquals("UN Senior Advisor", r.getCoveredText()); assertEquals("ROLE", r.getRelationshipType()); assertEquals(1, JCasUtil.select(jCas, Organisation.class).size()); Organisation org = JCasUtil.selectByIndex(jCas, Organisation.class, 0); assertEquals("UN", org.getCoveredText()); assertEquals(1, JCasUtil.select(jCas, Person.class).size()); Person pers = JCasUtil.selectByIndex(jCas, Person.class, 0); assertEquals("Senior Advisor", pers.getCoveredText()); }
@Test public void testNoPersonNested() throws Exception { jCas.setDocumentText("The UN Senior Advisor released a statement"); Organisation o = new Organisation(jCas, 4, 21); o.addToIndexes(); processJCas(); assertEquals(1, JCasUtil.select(jCas, Relation.class).size()); Relation r = JCasUtil.selectByIndex(jCas, Relation.class, 0); assertEquals("UN Senior Advisor", r.getCoveredText()); assertEquals("ROLE", r.getRelationshipType()); assertEquals(1, JCasUtil.select(jCas, Organisation.class).size()); Organisation org = JCasUtil.selectByIndex(jCas, Organisation.class, 0); assertEquals("UN", org.getCoveredText()); assertEquals(1, JCasUtil.select(jCas, Person.class).size()); Person pers = JCasUtil.selectByIndex(jCas, Person.class, 0); assertEquals("Senior Advisor", pers.getCoveredText()); }
@Test public void testNoPersonApostrophe() throws Exception { jCas.setDocumentText("The UN's leader released a statement"); Organisation o = new Organisation(jCas, 4, 6); o.addToIndexes(); processJCas(); assertEquals(1, JCasUtil.select(jCas, Relation.class).size()); Relation r = JCasUtil.selectByIndex(jCas, Relation.class, 0); assertEquals("UN's leader", r.getCoveredText()); assertEquals("ROLE", r.getRelationshipType()); assertEquals(1, JCasUtil.select(jCas, Organisation.class).size()); Organisation org = JCasUtil.selectByIndex(jCas, Organisation.class, 0); assertEquals("UN", org.getCoveredText()); assertEquals(1, JCasUtil.select(jCas, Person.class).size()); Person pers = JCasUtil.selectByIndex(jCas, Person.class, 0); assertEquals("leader", pers.getCoveredText()); } }
@Test public void testNested() throws Exception { jCas.setDocumentText("A statement US Army Major J Bloggs said that"); Organisation o = new Organisation(jCas, 12, 34); o.addToIndexes(); Person p = new Person(jCas, 20, 34); p.addToIndexes(); processJCas(); assertEquals(1, JCasUtil.select(jCas, Relation.class).size()); Relation r = JCasUtil.selectByIndex(jCas, Relation.class, 0); assertEquals("US Army Major J Bloggs", r.getCoveredText()); assertEquals("ROLE", r.getRelationshipType()); assertEquals(1, JCasUtil.select(jCas, Organisation.class).size()); Organisation org = JCasUtil.selectByIndex(jCas, Organisation.class, 0); assertEquals("US Army", org.getCoveredText()); }
@Test public void testNoPersonNestedApostrophe() throws Exception { jCas.setDocumentText("The UN's leader released a statement"); Organisation o = new Organisation(jCas, 4, 15); o.addToIndexes(); processJCas(); assertEquals(1, JCasUtil.select(jCas, Relation.class).size()); Relation r = JCasUtil.selectByIndex(jCas, Relation.class, 0); assertEquals("UN's leader", r.getCoveredText()); assertEquals("ROLE", r.getRelationshipType()); assertEquals(1, JCasUtil.select(jCas, Organisation.class).size()); Organisation org = JCasUtil.selectByIndex(jCas, Organisation.class, 0); assertEquals("UN", org.getCoveredText()); assertEquals(1, JCasUtil.select(jCas, Person.class).size()); Person pers = JCasUtil.selectByIndex(jCas, Person.class, 0); assertEquals("leader", pers.getCoveredText()); }
@Test public void testAdjacentApostrophe() throws Exception { jCas.setDocumentText("A statement US Army's Major J Bloggs said that"); Organisation o = new Organisation(jCas, 12, 19); o.addToIndexes(); Person p = new Person(jCas, 22, 36); p.addToIndexes(); processJCas(); assertEquals(1, JCasUtil.select(jCas, Relation.class).size()); Relation r = JCasUtil.selectByIndex(jCas, Relation.class, 0); assertEquals("US Army's Major J Bloggs", r.getCoveredText()); assertEquals("ROLE", r.getRelationshipType()); assertEquals(1, JCasUtil.select(jCas, Organisation.class).size()); Organisation org = JCasUtil.selectByIndex(jCas, Organisation.class, 0); assertEquals("US Army", org.getCoveredText()); }
@Test public void testAdjacent() throws Exception { jCas.setDocumentText("A statement US Army Major J Bloggs said that"); Organisation o = new Organisation(jCas, 12, 19); o.addToIndexes(); Person p = new Person(jCas, 20, 34); p.addToIndexes(); processJCas(); assertEquals(1, JCasUtil.select(jCas, Relation.class).size()); Relation r = JCasUtil.selectByIndex(jCas, Relation.class, 0); assertEquals("US Army Major J Bloggs", r.getCoveredText()); assertEquals("ROLE", r.getRelationshipType()); assertEquals(1, JCasUtil.select(jCas, Organisation.class).size()); Organisation org = JCasUtil.selectByIndex(jCas, Organisation.class, 0); assertEquals("US Army", org.getCoveredText()); }
@Test public void testBetween() throws Exception { jCas.setDocumentText("A statement UN Spokesperson J Bloggs said that"); Organisation o = new Organisation(jCas, 12, 14); o.addToIndexes(); Person p = new Person(jCas, 28, 36); p.addToIndexes(); processJCas(); assertEquals(1, JCasUtil.select(jCas, Relation.class).size()); Relation r = JCasUtil.selectByIndex(jCas, Relation.class, 0); assertEquals("UN Spokesperson J Bloggs", r.getCoveredText()); assertEquals("ROLE", r.getRelationshipType()); assertEquals(1, JCasUtil.select(jCas, Organisation.class).size()); Organisation org = JCasUtil.selectByIndex(jCas, Organisation.class, 0); assertEquals("UN", org.getCoveredText()); }