//Dstl (c) Crown Copyright 2017
package uk.gov.dstl.baleen.annotators.misc;
import static org.junit.Assert.assertEquals;
import java.io.File;
import org.apache.uima.fit.util.JCasUtil;
import org.apache.uima.jcas.tcas.DocumentAnnotation;
import org.junit.Test;
import com.google.common.io.Files;
import uk.gov.dstl.baleen.annotators.misc.AddSourceToMetadata;
import uk.gov.dstl.baleen.annotators.testing.AbstractAnnotatorTest;
import uk.gov.dstl.baleen.types.metadata.Metadata;
public class AddSourceToMetadataTest extends AbstractAnnotatorTest{
private String file;
public AddSourceToMetadataTest() {
super(AddSourceToMetadata.class);
File tempDir = Files.createTempDir();
File f = new File(tempDir, "Test Document.txt");
file = f.getAbsolutePath();
}
@Test
public void testPath() throws Exception{
DocumentAnnotation da = (DocumentAnnotation) jCas.getDocumentAnnotationFs();
da.setSourceUri(file);
processJCas();
assertEquals(1, JCasUtil.select(jCas, Metadata.class).size());
Metadata md = JCasUtil.selectByIndex(jCas, Metadata.class, 0);
assertEquals("source", md.getKey());
assertEquals(file, md.getValue());
}
@Test
public void testName() throws Exception{
DocumentAnnotation da = (DocumentAnnotation) jCas.getDocumentAnnotationFs();
da.setSourceUri(file);
processJCas("nameOnly", true, "key", "title");
assertEquals(1, JCasUtil.select(jCas, Metadata.class).size());
Metadata md = JCasUtil.selectByIndex(jCas, Metadata.class, 0);
assertEquals("title", md.getKey());
assertEquals("Test Document", md.getValue());
}
}