package org.societies.android.api.context; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import javax.xml.datatype.DatatypeConfigurationException; import org.societies.api.schema.context.model.CtxQualityBean; import org.societies.api.schema.context.model.CtxOriginTypeBean; import android.os.Parcel; import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.MediumTest; public class TestAndroidCtxQuality extends AndroidTestCase{ private final String DATE_TIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ssZ"; protected void setUp() throws Exception { super.setUp(); } protected void tearDown() throws Exception { super.tearDown(); } // Commented out test as it is currently failing // @MediumTest public void testParcelable() throws DatatypeConfigurationException { final CtxQualityBean quality = new CtxQualityBean(); assertNotNull(quality); //GregorianCalendar gcal = new GregorianCalendar(); //XMLGregorianCalendar xgcal = DatatypeFactory.newInstance().newXMLGregorianCalendar(gcal); // String text = "2011-08-10T00:00:00-06:00"; //XMLGregorianCalendar xgcal = DatatypeFactory.newInstance().newXMLGregorianCalendar(text); try { DateFormat df = new SimpleDateFormat(DATE_TIME_FORMAT); Date xgcal = df.parse(text); quality.setLastUpdated(xgcal); } catch (ParseException pEx) { fail("Exception parsing LastUpdated Date: " + pEx.getStackTrace()); } quality.setOriginType(CtxOriginTypeBean.MANUALLY_SET); quality.setPrecision(5.2); quality.setUpdateFrequency(8.1); assertEquals(0, quality.describeContents()); Parcel parcel = Parcel.obtain(); quality.writeToParcel(parcel, 0); //done writing, now reset parcel for reading parcel.setDataPosition(0); //finish round trip final CtxQualityBean createFromParcel = CtxQualityBean.CREATOR.createFromParcel(parcel); assertNotNull(createFromParcel); System.out.println("LastUpdate: " + quality.getLastUpdated().toString() + " = " + createFromParcel.getLastUpdated().toString()); assertEquals(quality.getLastUpdated(), createFromParcel.getLastUpdated()); assertEquals(quality.getOriginType(), createFromParcel.getOriginType()); assertEquals(quality.getPrecision(), createFromParcel.getPrecision()); assertEquals(quality.getUpdateFrequency(), createFromParcel.getUpdateFrequency()); } }