package org.openehr.am.serialize; import org.openehr.am.archetype.constraintmodel.primitive.CDuration; import org.openehr.rm.datatypes.quantity.datetime.DvDuration; import org.openehr.rm.support.basic.Interval; public class CDurationTest extends SerializerTestBase { public CDurationTest(String test) { super(test); } public void testCDurationWithDayValue() throws Exception { // 5 day DvDuration duration = new DvDuration(0, 0, 0, 5, 0, 0, 0, 0.0); cd = new CDuration(duration, null, null, null); outputter.printCDuration(cd, out); verify("P5D"); } public void testCDurationWithHourValue() throws Exception { // 1 hour DvDuration duration = new DvDuration(0, 0, 0, 0, 1, 0, 0, 0.0); cd = new CDuration(duration, null, null, null); outputter.printCDuration(cd, out); verify("PT1H"); } public void testCDurationWithInterval() throws Exception { DvDuration d1 = new DvDuration(0, 0, 0, 0, 0, 0, 0, 0.0); DvDuration d2 = new DvDuration(0, 0, 0, 0, 0, 1, 30, 0.0); Interval<DvDuration> i = new Interval<DvDuration>(d1, d2); cd = new CDuration(null, i, null, null); outputter.printCDuration(cd, out); verify("|PT0S..PT1M30S|"); } public void testCDurationWithPattern() throws Exception { String pattern = "PD"; cd = new CDuration(null, null, null, pattern); outputter.printCDuration(cd, out); verify("PD"); } public void testCDurationWithPatternAssumedValue() throws Exception { String pattern = "PD"; DvDuration assumed = new DvDuration(0, 0, 0, 1, 0, 0, 0, 0.0); cd = new CDuration(null, null, assumed, pattern); outputter.printCDuration(cd, out); verify("PD; P1D"); } public void testCDurationWithIntervalAssumedValue() throws Exception { DvDuration d1 = new DvDuration(0, 0, 0, 0, 0, 0, 0, 0.0); DvDuration d2 = new DvDuration(0, 0, 0, 0, 0, 1, 30, 0.0); Interval<DvDuration> i = new Interval<DvDuration>(d1, d2); DvDuration assumed = new DvDuration(0, 0, 0, 1, 0, 0, 0, 0.0); cd = new CDuration(null, i, assumed, null); outputter.printCDuration(cd, out); verify("|PT0S..PT1M30S|; P1D"); } private CDuration cd; }