//Dstl (c) Crown Copyright 2017
package uk.gov.dstl.baleen.types;
import static org.junit.Assert.assertEquals;
import org.apache.uima.jcas.JCas;
import org.junit.Test;
import uk.gov.dstl.baleen.core.utils.IdentityUtils;
import uk.gov.dstl.baleen.types.common.CommsIdentifier;
import uk.gov.dstl.baleen.uima.testing.JCasSingleton;
public class BaleenAnnotationTest {
private static final String HASH_TWO = "42e8536751651b04ca051139437c55b0ec26f3a9810014b7e7993c1dc3775aff";
private static final String HASH_ONE = "304159f11fd4e939839e2b4e114b03539d16f9a64278cfffc93143d328931de6";
@Test
public void testIds() throws Exception {
JCas jCas = JCasSingleton.getJCasInstance();
jCas.setDocumentText("E-mail address: example@foo.com");
long currId = IdentityUtils.getInstance().getNewId();
BaleenAnnotation ba1 = new BaleenAnnotation(jCas);
assertEquals(currId + 1, ba1.getInternalId());
assertEquals(HASH_ONE, ba1.getExternalId());
BaleenAnnotation ba2 = new BaleenAnnotation(jCas);
assertEquals(currId + 2, ba2.getInternalId());
assertEquals(HASH_ONE, ba2.getExternalId());
BaleenAnnotation ba3 = new BaleenAnnotation(jCas);
ba3.setInternalId(999);
assertEquals(999, ba3.getInternalId());
assertEquals(HASH_ONE, ba3.getExternalId());
CommsIdentifier ci = new CommsIdentifier(jCas);
ci.setBegin(16);
ci.setEnd(31);
ci.setSubType("email");
ci.addToIndexes();
assertEquals(currId + 4, ci.getInternalId());
assertEquals(HASH_TWO, ci.getExternalId());
}
}