@Test public void testAthleteIsMadePersonSource() throws AnalysisEngineProcessException, ResourceInitializationException { processJCas( TemplateFieldJoiningAnnotator.PARAM_RECORD, "report", TemplateFieldJoiningAnnotator.PARAM_FIELD_NAME, "fullName", TemplateFieldJoiningAnnotator.PARAM_TEMPLATE, "{{athlete}}, {{spectator}}", TemplateFieldJoiningAnnotator.PARAM_SOURCE, "brown"); Collection<TemplateField> fields = JCasUtil.select(jCas, TemplateField.class); assertEquals(3, fields.size()); List<TemplateField> fullNameFields = fields.stream().filter(f -> extracted(f)).collect(Collectors.toList()); assertEquals(1, fullNameFields.size()); TemplateField fullName = fullNameFields.iterator().next(); assertEquals("fox, dog", fullName.getValue()); assertEquals(16, fullName.getBegin()); assertEquals(44, fullName.getEnd()); }
@Test public void testAthleteIsMadePersonNoSource() throws AnalysisEngineProcessException, ResourceInitializationException { processJCas( TemplateFieldJoiningAnnotator.PARAM_RECORD, "report", TemplateFieldJoiningAnnotator.PARAM_FIELD_NAME, "fullName", TemplateFieldJoiningAnnotator.PARAM_TEMPLATE, "{{athlete}}, {{spectator}}"); Collection<TemplateField> fields = JCasUtil.select(jCas, TemplateField.class); assertEquals(3, fields.size()); List<TemplateField> fullNameFields = fields.stream().filter(f -> extracted(f)).collect(Collectors.toList()); assertEquals(1, fullNameFields.size()); TemplateField fullName = fullNameFields.iterator().next(); assertEquals("fox, dog", fullName.getValue()); assertEquals(16, fullName.getBegin()); assertEquals(44, fullName.getEnd()); }
@Test public void testDefaultRecord() throws AnalysisEngineProcessException, ResourceInitializationException, IOException { Path definitionFile = createDefaultRecordDefinition(); try { processJCas(TemplateAnnotator.PARAM_RECORD_DEFINITIONS_DIRECTORY, tempDirectory.toString()); assertEquals(0, JCasUtil.select(jCas, TemplateRecord.class).size()); TemplateField field1 = JCasUtil.selectSingle(jCas, TemplateField.class); assertEquals(53, field1.getBegin()); assertEquals(105, field1.getEnd()); assertEquals(PARA2, field1.getCoveredText()); assertEquals(PARA2, field1.getValue()); } finally { Files.delete(definitionFile); } }
@Test public void testCreateDefaultFieldAnnotationsMisingWithDefaultValue() throws AnalysisEngineProcessException, ResourceInitializationException, IOException { Path definitionFile = createGoodRecordDefinitionWithDefaultAndMissing(); try { processJCas(TemplateAnnotator.PARAM_RECORD_DEFINITIONS_DIRECTORY, tempDirectory.toString()); TemplateField field1 = JCasUtil.selectSingle(jCas, TemplateField.class); assertEquals(212, field1.getBegin()); assertEquals(212, field1.getEnd()); assertEquals("", field1.getCoveredText()); assertEquals("default value", field1.getValue()); assertEquals(1, JCasUtil.select(jCas, Metadata.class).size()); } finally { Files.delete(definitionFile); } }
@Test public void testCreateFieldAnnotationsFromSelectorFileWithRegexDefaultUsed() throws AnalysisEngineProcessException, ResourceInitializationException, IOException { Path definitionFile = createGoodRecordDefinitionWithRegexDefaultNeeded(); try { processJCas(TemplateAnnotator.PARAM_RECORD_DEFINITIONS_DIRECTORY, tempDirectory.toString()); assertRecordCoversParas2to4(); TemplateField field1 = JCasUtil.selectSingle(jCas, TemplateField.class); assertEquals(159, field1.getBegin()); assertEquals(159, field1.getEnd()); assertEquals("", field1.getCoveredText()); assertEquals("horse", field1.getValue()); assertEquals(2, JCasUtil.select(jCas, Metadata.class).size()); } finally { Files.delete(definitionFile); } }
@Test public void testCreateDefaultFieldAnnotationsWithDefault() throws AnalysisEngineProcessException, ResourceInitializationException, IOException { Path definitionFile = createGoodRecordDefinitionWithDefaultAndMissing(); try { processJCas(TemplateAnnotator.PARAM_RECORD_DEFINITIONS_DIRECTORY, tempDirectory.toString()); TemplateField field1 = JCasUtil.selectSingle(jCas, TemplateField.class); assertEquals(212, field1.getBegin()); assertEquals(212, field1.getEnd()); assertEquals("", field1.getCoveredText()); assertEquals("default value", field1.getValue()); } finally { Files.delete(definitionFile); } }
@Test public void testCreateFieldAnnotationsFromSelectorFile() throws AnalysisEngineProcessException, ResourceInitializationException, IOException { Path definitionFile = createGoodRecordDefinition(); try { processJCas(TemplateAnnotator.PARAM_RECORD_DEFINITIONS_DIRECTORY, tempDirectory.toString()); assertRecordCoversParas2to4(); TemplateField field1 = JCasUtil.selectSingle(jCas, TemplateField.class); assertEquals(53, field1.getBegin()); assertEquals(105, field1.getEnd()); assertEquals(PARA2, field1.getCoveredText()); assertEquals(PARA2, field1.getValue()); } finally { Files.delete(definitionFile); } }
@Test public void testCreateFieldAnnotationsFromSelectorFileWithRegex() throws AnalysisEngineProcessException, ResourceInitializationException, IOException { Path definitionFile = createGoodRecordDefinitionWithRegex(); try { processJCas(TemplateAnnotator.PARAM_RECORD_DEFINITIONS_DIRECTORY, tempDirectory.toString()); assertRecordCoversParas2to4(); TemplateField field1 = JCasUtil.selectSingle(jCas, TemplateField.class); assertEquals(69, field1.getBegin()); assertEquals(72, field1.getEnd()); assertEquals("cat", field1.getCoveredText()); assertEquals("cat", field1.getValue()); } finally { Files.delete(definitionFile); } }
@Test public void testCreateFieldAnnotationsFromSelectorFileWithRegexRequired() throws AnalysisEngineProcessException, ResourceInitializationException, IOException { Path definitionFile = createGoodRecordDefinitionWithRegexRequired(); try { processJCas(TemplateAnnotator.PARAM_RECORD_DEFINITIONS_DIRECTORY, tempDirectory.toString()); assertRecordCoversParas2to4(); TemplateField field1 = JCasUtil.selectSingle(jCas, TemplateField.class); assertEquals(122, field1.getBegin()); assertEquals(125, field1.getEnd()); assertEquals("rat", field1.getCoveredText()); assertEquals("rat", field1.getValue()); } finally { Files.delete(definitionFile); } }
@Test public void testCreateFieldAnnotationsFromSelectorFileWithRegexDefaultNotNeeded() throws AnalysisEngineProcessException, ResourceInitializationException, IOException { Path definitionFile = createGoodRecordDefinitionWithRegexDefaultNotNeeded(); try { processJCas(TemplateAnnotator.PARAM_RECORD_DEFINITIONS_DIRECTORY, tempDirectory.toString()); assertRecordCoversParas2to4(); TemplateField field1 = JCasUtil.selectSingle(jCas, TemplateField.class); assertEquals(179, field1.getBegin()); assertEquals(185, field1.getEnd()); assertEquals("jumped", field1.getCoveredText()); assertEquals("jumped", field1.getValue()); } finally { Files.delete(definitionFile); } }
@Test public void testCreateRecordWhenNoFollowingPath() throws AnalysisEngineProcessException, ResourceInitializationException, IOException { Path definitionFile = createNoFollowingRecordDefinition(); try { processJCas( TemplateAnnotator.PARAM_RECORD_DEFINITIONS_DIRECTORY, tempDirectory.toString(), TemplateAnnotator.PARAM_TYPE_NAMES, new String[] {"Paragraph"}); TemplateRecord record = JCasUtil.selectSingle(jCas, TemplateRecord.class); assertEquals(212, record.getBegin()); assertEquals(265, record.getEnd()); assertEquals("\n" + PARA5, record.getCoveredText()); TemplateField field1 = JCasUtil.selectSingle(jCas, TemplateField.class); assertEquals(213, field1.getBegin()); assertEquals(265, field1.getEnd()); assertEquals(PARA5, field1.getCoveredText()); assertEquals(PARA5, field1.getValue()); assertEquals(2, JCasUtil.select(jCas, Metadata.class).size()); } finally { Files.delete(definitionFile); } }
assertEquals(0, field.getBegin()); assertEquals("quote", field.getName()); assertEquals(QUOTE1.length(), field.getEnd()); assertEquals(QUOTE1, field.getCoveredText()); assertEquals(QUOTE1, field.getValue()); assertEquals("quote", field.getName()); assertEquals(quotation2.getBegin(), field.getBegin()); assertEquals(field.getBegin() + QUOTE2.length(), field.getEnd()); assertEquals(QUOTE2, field.getCoveredText()); assertEquals(QUOTE2, field.getValue()); assertEquals(quotation3.getBegin(), field.getBegin()); assertEquals("quote", field.getName()); assertEquals(field.getBegin() + QUOTE1.length(), field.getEnd()); assertEquals(QUOTE1, field.getCoveredText()); assertEquals(QUOTE1, field.getValue()); assertEquals("quote", field.getName()); assertEquals(quotation4.getBegin(), field.getBegin()); assertEquals(field.getBegin() + QUOTE2.length(), field.getEnd()); assertEquals(QUOTE2, field.getCoveredText()); assertEquals(QUOTE2, field.getValue()); assertEquals("quote", field.getName()); assertEquals(quotation5.getBegin(), field.getBegin()); assertEquals(field.getBegin() + QUOTE3.length(), field.getEnd()); assertEquals(QUOTE3, field.getCoveredText()); assertEquals(QUOTE3, field.getValue());
assertEquals(0, field.getBegin()); assertEquals("quote", field.getName()); assertEquals(QUOTE1.length(), field.getEnd()); assertEquals(QUOTE1, field.getCoveredText()); assertEquals(QUOTE1, field.getValue()); assertEquals("quote", field.getName()); assertEquals(quotation2.getBegin(), field.getBegin()); assertEquals(field.getBegin() + QUOTE2.length(), field.getEnd()); assertEquals(QUOTE2, field.getCoveredText()); assertEquals(QUOTE2, field.getValue()); assertEquals(quotation3.getBegin(), field.getBegin()); assertEquals("quote", field.getName()); assertEquals(field.getBegin() + QUOTE1.length(), field.getEnd()); assertEquals(QUOTE1, field.getCoveredText()); assertEquals(QUOTE1, field.getValue()); assertEquals("quote", field.getName()); assertEquals(quotation4.getBegin(), field.getBegin()); assertEquals(field.getBegin() + QUOTE2.length(), field.getEnd()); assertEquals(QUOTE2, field.getCoveredText()); assertEquals(QUOTE2, field.getValue()); assertEquals("quote", field.getName()); assertEquals(quotation5.getBegin(), field.getBegin()); assertEquals(field.getBegin() + QUOTE3.length(), field.getEnd()); assertEquals(QUOTE3, field.getCoveredText()); assertEquals(QUOTE3, field.getValue());