json.put(FIELD_BEGIN, temporal.getBegin()); json.put(FIELD_END, temporal.getEnd()); json.put(FIELD_VALUE, temporal.getValue()); json.put(FIELD_TEMPORAL_TYPE, temporal.getTemporalType()); json.put(FIELD_CONFIDENCE, temporal.getConfidence());
public void timeRegexCountAndValueCheck(Double expectedCount, String... expectedValues) throws Exception { // Check the correct number of references is extracted assertEquals(expectedCount, Double.valueOf(JCasUtil.select(jCas, Temporal.class).size())); // Loop the matches and check their values for (int i = 0; i < expectedValues.length; i++) { String expectedVal = expectedValues[i]; // Get the value Temporal t1 = JCasUtil.selectByIndex(jCas, Temporal.class, i); assertNotNull(t1); // Check that the covered text is what we're expecting assertEquals(expectedVal, t1.getCoveredText()); // Check that the value and the covered text are the same assertEquals(t1.getValue(), t1.getCoveredText()); } }
@Test public void testTime() throws Exception { jCas.setDocumentText("It was midnight, and all was quiet"); Temporal t = new Temporal(jCas, 7, 15); t.setTimestampStart(LocalDateTime.of(2016, 10, 4, 0, 0, 0).toEpochSecond(ZoneOffset.UTC)); t.setTimestampStop(LocalDateTime.of(2016, 10, 4, 0, 0, 0).toEpochSecond(ZoneOffset.UTC)); t.setScope("SINGLE"); t.setTemporalType("TIME"); t.setValue("midnight"); t.addToIndexes(); processJCas( NormalizeTemporal.PARAM_DATE_FORMAT, "HH:mm", NormalizeTemporal.PARAM_TEMPORAL_TYPE, "TIME"); assertEquals(1, JCasUtil.select(jCas, Temporal.class).size()); Temporal tTest = JCasUtil.selectByIndex(jCas, Temporal.class, 0); assertEquals("00:00", tTest.getValue()); assertTrue(tTest.getIsNormalised()); }
@Test public void test() throws Exception { jCas.setDocumentText("This test was written at 251137Z FEB 13"); processJCas(); assertEquals(1, JCasUtil.select(jCas, Temporal.class).size()); Temporal dt = JCasUtil.selectByIndex(jCas, Temporal.class, 0); assertNotNull(dt); assertEquals("251137Z FEB 13", dt.getCoveredText()); assertEquals("251137Z FEB 13", dt.getValue()); assertEquals("EXACT", dt.getPrecision()); assertEquals("SINGLE", dt.getScope()); assertEquals("DATETIME", dt.getTemporalType()); LocalDateTime date = LocalDateTime.of(2013, Month.FEBRUARY, 25, 11, 37); assertEquals(date.toInstant(ZoneOffset.UTC).getEpochSecond(), dt.getTimestampStart()); assertEquals( date.plusMinutes(1).toInstant(ZoneOffset.UTC).getEpochSecond(), dt.getTimestampStop()); }
@Test public void testTimeRange() throws Exception { jCas.setDocumentText("It was July, and all was quiet"); Temporal t = new Temporal(jCas, 7, 11); t.setTimestampStart(LocalDateTime.of(2016, 7, 1, 0, 0, 0).toEpochSecond(ZoneOffset.UTC)); t.setTimestampStop(LocalDateTime.of(2016, 8, 1, 0, 0, 0).toEpochSecond(ZoneOffset.UTC)); t.setScope("RANGE"); t.setTemporalType("DATE"); t.setValue("July"); t.addToIndexes(); processJCas( NormalizeTemporal.PARAM_DATE_FORMAT, "HH:mm", NormalizeTemporal.PARAM_TEMPORAL_TYPE, "TIME"); assertEquals(1, JCasUtil.select(jCas, Temporal.class).size()); Temporal tTest = JCasUtil.selectByIndex(jCas, Temporal.class, 0); assertEquals("July", tTest.getValue()); assertFalse(tTest.getIsNormalised()); }
@Test public void testWrongType() throws Exception { jCas.setDocumentText("It was midnight, and all was quiet"); Temporal t = new Temporal(jCas, 7, 15); t.setTimestampStart(LocalDateTime.of(2016, 10, 4, 0, 0, 0).toEpochSecond(ZoneOffset.UTC)); t.setTimestampStop(LocalDateTime.of(2016, 10, 4, 0, 0, 0).toEpochSecond(ZoneOffset.UTC)); t.setScope("SINGLE"); t.setTemporalType("TIME"); t.setValue("midnight"); t.addToIndexes(); processJCas( NormalizeTemporal.PARAM_DATE_FORMAT, "HH:mm", NormalizeTemporal.PARAM_TEMPORAL_TYPE, "DATE"); assertEquals(1, JCasUtil.select(jCas, Temporal.class).size()); Temporal tTest = JCasUtil.selectByIndex(jCas, Temporal.class, 0); assertEquals("midnight", tTest.getValue()); assertFalse(tTest.getIsNormalised()); }
@Test public void testNoTimestamp() throws Exception { jCas.setDocumentText("It was midnight, and all was quiet"); Temporal t = new Temporal(jCas, 7, 15); t.setScope("SINGLE"); t.setTemporalType("TIME"); t.setValue("midnight"); t.addToIndexes(); processJCas( NormalizeTemporal.PARAM_DATE_FORMAT, "HH:mm", NormalizeTemporal.PARAM_TEMPORAL_TYPE, "TIME"); assertEquals(1, JCasUtil.select(jCas, Temporal.class).size()); Temporal tTest = JCasUtil.selectByIndex(jCas, Temporal.class, 0); assertEquals("midnight", tTest.getValue()); assertFalse(tTest.getIsNormalised()); } }
@Test public void test2() throws Exception { jCas.setDocumentText("Report Title: An example report\nDTG: 04 1558D Sep 10"); processJCas(); Temporal dt = JCasUtil.selectByIndex(jCas, Temporal.class, 0); assertNotNull(dt); assertEquals("04 1558D Sep 10", dt.getCoveredText()); assertEquals("04 1558D Sep 10", dt.getValue()); assertEquals("EXACT", dt.getPrecision()); assertEquals("SINGLE", dt.getScope()); assertEquals("DATETIME", dt.getTemporalType()); LocalDateTime date = LocalDateTime.of(2010, Month.SEPTEMBER, 4, 11, 58); assertEquals(date.toInstant(ZoneOffset.UTC).getEpochSecond(), dt.getTimestampStart()); assertEquals( date.plusMinutes(1).toInstant(ZoneOffset.UTC).getEpochSecond(), dt.getTimestampStop()); }
@Test public void test3() throws Exception { jCas.setDocumentText("Report Title: An example report\nDTG: 04 1558D*SEP 10"); processJCas(); Temporal dt = JCasUtil.selectByIndex(jCas, Temporal.class, 0); assertNotNull(dt); assertEquals("04 1558D*SEP 10", dt.getCoveredText()); assertEquals("04 1558D*SEP 10", dt.getValue()); assertEquals("EXACT", dt.getPrecision()); assertEquals("SINGLE", dt.getScope()); assertEquals("DATETIME", dt.getTemporalType()); LocalDateTime date = LocalDateTime.of(2010, Month.SEPTEMBER, 4, 11, 28); assertEquals(date.toInstant(ZoneOffset.UTC).getEpochSecond(), dt.getTimestampStart()); assertEquals( date.plusMinutes(1).toInstant(ZoneOffset.UTC).getEpochSecond(), dt.getTimestampStop()); }
assertEquals("1 January 2010", dt.getValue());
assertEquals("2nd January 2017", ts5.getValue()); assertEquals(1483315200L, ts5.getTimestampStart()); assertEquals(1483401600L, ts5.getTimestampStop());