readerControl.replay();
DurationType dType = (DurationType) tm.getType(Duration.class);
assertNotNull(dType);
Duration d = (Duration) dType.readObject(reader, new MessageContext());
assertEquals(120, d.getDays());
readerControl.verify();
// test writing
MockControl writerControl = MockControl.createControl(MessageWriter.class);
MessageWriter writer = (MessageWriter) writerControl.getMock();
writer.writeValue("-P120D");
writerControl.setVoidCallable();
writerControl.replay();
dType.writeObject(d, writer, new MessageContext());
assertEquals(120, d.getDays());
writerControl.verify();
}