package org.societies.android.api.context; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import org.societies.api.schema.context.model.CtxEntityBean; import org.societies.api.schema.context.model.CtxEntityIdentifierBean; import android.os.Parcel; import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.MediumTest; public class TestAndroidCtxEntity extends AndroidTestCase{ private final String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ssZ"; protected void setUp() throws Exception { super.setUp(); } protected void tearDown() throws Exception { super.tearDown(); } @MediumTest public void testParcelable() { CtxEntityIdentifierBean entityId = new CtxEntityIdentifierBean(); entityId.setString("ownerId/ENTITY/type/15"); CtxEntityBean entity = new CtxEntityBean(); try { String text = "2011-08-10 00:00:00-06:00"; DateFormat df = new SimpleDateFormat(DATE_TIME_FORMAT); Date testDate = df.parse(text); entity.setLastModified(testDate); } catch (ParseException pEx) { fail("Exception parsing LastUpdated Date: " + pEx.getStackTrace()); } entity.setId(entityId); assertNotNull(entityId); assertNotNull(entity); assertEquals(0, entityId.describeContents()); assertEquals(0, entity.describeContents()); Parcel parcel = Parcel.obtain(); entity.writeToParcel(parcel, 0); //done writing, now reset parcel for reading parcel.setDataPosition(0); CtxEntityBean createFromParcelEntity = CtxEntityBean.CREATOR.createFromParcel(parcel); assertNotNull(createFromParcelEntity); assertEquals(entity.getId().getString(), createFromParcelEntity.getId().getString()); assertEquals(entity.getLastModified() , createFromParcelEntity.getLastModified()); } }