use of com.nedap.archie.rm.datavalues.quantity.datetime.DvTime in project openEHR_SDK by ehrbase.
the class CompareCanonicalDvDateTime method isExpectedEqualToCanonicalUsing.
public Object isExpectedEqualToCanonicalUsing(DvDateTime referenceDateTime) {
// check each date/time part separately
Format formatter = DateTimeFormatter.ISO_LOCAL_DATE.toFormat();
DvDate actualDvDate = new DvDate(formatter.format(dvDateTime.getValue()));
DvDate expectedDvDate = new DvDate(formatter.format(referenceDateTime.getValue()));
formatter = DateTimeFormatter.ISO_LOCAL_TIME.toFormat();
DvTime actualDvTime = new DvTime(formatter.format(dvDateTime.getValue()));
DvTime expectedDvTime = new DvTime(formatter.format(referenceDateTime.getValue()));
ZoneOffset actualZoneOffset = ZoneOffset.from(dvDateTime.getValue());
ZoneOffset expectedZoneOffset = ZoneOffset.from(referenceDateTime.getValue());
// perform comparison of parts
DatePartComparator.compare(actualDvDate, expectedDvDate);
if (!compareDateOnly)
TimePartComparator.compare(actualDvTime, expectedDvTime);
ZoneOffsetPartComparator.compare(actualZoneOffset, expectedZoneOffset);
return null;
}
use of com.nedap.archie.rm.datavalues.quantity.datetime.DvTime in project openEHR_SDK by ehrbase.
the class StatusesTestOverwrite method time.
@Override
@Test
public void time() throws Exception {
String template = this.getFileContent("/res/test_statuses.opt");
Map<String, Object> flatComposition = Map.of("ctx/language", "sl", "ctx/territory", "SI", "ctx/composer_name", "George Orwell", "test_statuses/test_statuses:0/time", "13:20", "test_statuses/test_statuses:0/time|normal_status", "L", "test_statuses/test_statuses:0/time|magnitude_status", ">=", "test_statuses/test_statuses:0/time/_accuracy", "P1Y");
RMDataFormat flatJson = getFlatJson(template, FlatFormat.SIM_SDT);
Composition composition = flatJson.unmarshal(OBJECT_MAPPER.writeValueAsString(flatComposition));
DvTime rmObject = (DvTime) composition.itemAtPath("/content[openEHR-EHR-OBSERVATION.test_statuses.v0]/data[at0001]/events[at0002]/data[at0003]/items[at0012]/value");
assertThat(rmObject.getNormalStatus()).isNotNull();
assertThat(rmObject.getNormalStatus().getTerminologyId().getValue()).isEqualTo("openehr_normal_statuses");
assertThat(rmObject.getNormalStatus().getCodeString()).isEqualTo("L");
assertThat(rmObject.getMagnitudeStatus()).isEqualTo(">=");
assertThat(rmObject.getAccuracy()).isNotNull().extracting(DvDuration::getValue).extracting(Object::toString).isEqualTo("P1Y");
Map<String, Object> value = OBJECT_MAPPER.readValue(flatJson.marshal(composition), Map.class);
assertThat(value).containsEntry("test_statuses/test_statuses:0/time|normal_status", "L").containsEntry("test_statuses/test_statuses:0/time|magnitude_status", ">=").containsEntry("test_statuses/test_statuses:0/time/_accuracy", "P1Y");
}
use of com.nedap.archie.rm.datavalues.quantity.datetime.DvTime in project openEHR_SDK by ehrbase.
the class StandardPartialTimeTest method testPartial1.
@Test
public void testPartial1() {
DvTime dvTime = new DvTime("10:10+02:00");
assertTrue(new StandardPartialTime(dvTime).isNonCompactIS8601Representation());
assertTrue(new StandardPartialTime(dvTime).ishhmm());
assertFalse(new StandardPartialTime(dvTime).ishhmmssfff());
}
use of com.nedap.archie.rm.datavalues.quantity.datetime.DvTime in project openEHR_SDK by ehrbase.
the class TemporalEncodingTest method testChronoFieldSupportTimeHHMM.
public void testChronoFieldSupportTimeHHMM() {
DvTime dvTime = new DvTime("10:10");
DvTimeAttributes timeAttributes = DvTimeAttributes.instanceFromValue(dvTime);
assertTrue(timeAttributes.isRmDvTime());
assertFalse(timeAttributes.isTimeHH());
assertTrue(timeAttributes.isTimeHHMM());
assertFalse(timeAttributes.isTimeHHMMSS());
assertFalse(timeAttributes.isTimeHHMMSSmmm());
assertEquals("10:10", timeAttributes.getValueAsProvided().toString());
assertEquals(Integer.valueOf(TemporalAttributes.DV_TIME | TemporalAttributes.HOUR | TemporalAttributes.MINUTE_OF_HOUR), timeAttributes.getSupportedChronoFields());
}
use of com.nedap.archie.rm.datavalues.quantity.datetime.DvTime in project openEHR_SDK by ehrbase.
the class DvTimeValidatorTest method testValidate_Pattern.
@Test
void testValidate_Pattern() throws Exception {
var node = parseNode("/webtemplate_nodes/dv_time_pattern.json");
var result = validator.validate(new DvTime(LocalTime.of(11, 30)), node);
assertTrue(result.isEmpty());
}
Aggregations