package org.gcube.informationsystem.model.impl.properties; import java.util.Calendar; import java.util.Date; import java.util.UUID; import org.gcube.informationsystem.model.reference.properties.Header; import org.gcube.informationsystem.model.reference.properties.Property; import org.gcube.informationsystem.utils.ElementMapper; import org.junit.Assert; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class HeaderTest { private static Logger logger = LoggerFactory.getLogger(HeaderTest.class); @Test public void headerTest() throws Exception { HeaderImpl header = new HeaderImpl(UUID.randomUUID()); Date date = Calendar.getInstance().getTime(); header.creationTime = date; header.lastUpdateTime = date; header.creator = Header.UNKNOWN_USER; String json = ElementMapper.marshal(header); logger.debug(json); Property property = ElementMapper.unmarshal(Property.class, json); Assert.assertTrue(property instanceof Header); Assert.assertTrue(((Header) property).getCreationTime().compareTo(date)==0); Assert.assertTrue(((Header) property).getLastUpdateTime().compareTo(date)==0); logger.debug(ElementMapper.marshal(property)); Header h = ElementMapper.unmarshal(Header.class, json); Assert.assertTrue(property instanceof Header); Assert.assertTrue(h.getCreationTime().compareTo(date)==0); Assert.assertTrue(h.getLastUpdateTime().compareTo(date)==0); logger.debug(ElementMapper.marshal(h)); } }