//Dstl (c) Crown Copyright 2017 package uk.gov.dstl.baleen.annotators.regex; import static org.junit.Assert.assertEquals; import org.apache.uima.fit.util.JCasUtil; import org.junit.Test; import uk.gov.dstl.baleen.annotators.regex.USTelephone; import uk.gov.dstl.baleen.annotators.testing.AbstractAnnotatorTest; import uk.gov.dstl.baleen.types.common.CommsIdentifier; public class USTelephoneTest extends AbstractAnnotatorTest { public USTelephoneTest() { super(USTelephone.class); } @Test public void test() throws Exception{ jCas.reset(); jCas.setDocumentText("Call on 234-235-5678"); processJCas(); assertEquals(1, JCasUtil.select(jCas, CommsIdentifier.class).size()); jCas.reset(); jCas.setDocumentText("Call on (234)-235-5678"); processJCas(); assertEquals(1, JCasUtil.select(jCas, CommsIdentifier.class).size()); jCas.reset(); jCas.setDocumentText("Call on 234.235.5678"); processJCas(); assertEquals(1, JCasUtil.select(jCas, CommsIdentifier.class).size()); jCas.reset(); jCas.setDocumentText("Call on 234 235 5678"); processJCas(); assertEquals(1, JCasUtil.select(jCas, CommsIdentifier.class).size()); jCas.reset(); jCas.setDocumentText("Call on +1 234-235-5678"); processJCas(); assertEquals(1, JCasUtil.select(jCas, CommsIdentifier.class).size()); jCas.reset(); jCas.setDocumentText("Call on (+1)-234-235-5678"); processJCas(); assertEquals(1, JCasUtil.select(jCas, CommsIdentifier.class).size()); jCas.reset(); jCas.setDocumentText("Call on +1-(234)-235-5678"); processJCas(); assertEquals(1, JCasUtil.select(jCas, CommsIdentifier.class).size()); jCas.reset(); jCas.setDocumentText("Call on 1-800-567-4567"); processJCas(); assertEquals(1, JCasUtil.select(jCas, CommsIdentifier.class).size()); jCas.reset(); jCas.setDocumentText("Call on 234-2three5-56seven8"); processJCas(); assertEquals(1, JCasUtil.select(jCas, CommsIdentifier.class).size()); jCas.reset(); jCas.setDocumentText("Call on 1-800-DENTIST"); processJCas(); assertEquals(1, JCasUtil.select(jCas, CommsIdentifier.class).size()); jCas.reset(); jCas.setDocumentText("Don't call on 014-459-2653"); //First group can't start with a 0 or 1 processJCas(); assertEquals(0, JCasUtil.select(jCas, CommsIdentifier.class).size()); jCas.reset(); jCas.setDocumentText("Don't call on 314-159-2653"); //Second group can't start with a 0 or 1 processJCas(); assertEquals(0, JCasUtil.select(jCas, CommsIdentifier.class).size()); } }