//Dstl (c) Crown Copyright 2017
package uk.gov.dstl.baleen.annotators.cleaners;
import static org.junit.Assert.assertEquals;
import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
import org.apache.uima.fit.util.JCasUtil;
import org.apache.uima.resource.ResourceInitializationException;
import org.junit.Test;
import uk.gov.dstl.baleen.annotators.testing.AbstractAnnotatorTest;
import uk.gov.dstl.baleen.types.semantic.Location;
public class CollapseLocationsTest extends AbstractAnnotatorTest {
public CollapseLocationsTest() {
super(CollapseLocations.class);
}
@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 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());
}
}