package org.societies.android.api.internal.cssmanager; import java.util.ArrayList; import java.util.List; import org.societies.api.schema.cssmanagement.CssNode; import org.societies.api.schema.cssmanagement.CssRecord; import android.os.Parcel; import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.MediumTest; import android.util.Log; public class TestCSSRecord extends AndroidTestCase{ private static final String LOG_TAG = TestCSSRecord.class.getName(); public static final String TEST_IDENTITY_1 = "node11"; public static final String TEST_IDENTITY_2 = "node22"; public static final String TEST_IDENTITY = "CSSProfile1"; public static final String TEST_INACTIVE_DATE = "20121029"; public static final String TEST_REGISTERED_DATE = "20120229"; public static final int TEST_UPTIME = 7799; public static final String TEST_EMAIL = "somebody@tssg.org"; public static final String TEST_FORENAME = "4Name"; public static final String TEST_HOME_LOCATION = "The Hearth"; public static final String TEST_IDENTITY_NAME = "Id Name"; public static final String TEST_IM_ID = "somebody.tssg.org"; public static final String TEST_NAME = "The CSS"; public static final String TEST_PASSWORD = "P455W0RD"; public static final String TEST_SOCIAL_URI = "sombody@fb.com"; private CssNode cssNode_1, cssNode_2; private List<CssNode> cssNodes; private List<CssNode> cssArchivedNodes; protected void setUp() throws Exception { super.setUp(); cssNode_1 = new CssNode(); cssNode_1.setIdentity(TEST_IDENTITY_1); cssNode_1.setStatus(CSSManagerEnums.nodeStatus.Available.ordinal()); cssNode_1.setType(CSSManagerEnums.nodeType.Rich.ordinal()); cssNode_2 = new CssNode(); cssNode_2.setIdentity(TEST_IDENTITY_2); cssNode_2.setStatus(CSSManagerEnums.nodeStatus.Hibernating.ordinal()); cssNode_2.setType(CSSManagerEnums.nodeType.Android.ordinal()); cssNodes = new ArrayList<CssNode>(); cssNodes.add(cssNode_1); cssNodes.add(cssNode_2); cssArchivedNodes = new ArrayList<CssNode>(); cssArchivedNodes.add(cssNode_1); cssArchivedNodes.add(cssNode_2); } protected void tearDown() throws Exception { cssNode_1 = null; cssNode_2 = null; cssNodes = null; cssArchivedNodes = null; super.tearDown(); } @MediumTest public void testConstructor() { CssRecord cssProfile = new CssRecord(); cssProfile.setCssNodes(cssNodes); cssProfile.setArchiveCSSNodes(cssArchivedNodes); cssProfile.setCssIdentity(TEST_IDENTITY); // cssProfile.setCssInactivation(TEST_INACTIVE_DATE); // cssProfile.setCssRegistration(TEST_REGISTERED_DATE); // cssProfile.setStatus(CSSManagerEnums.cssStatus.Active.ordinal()); // cssProfile.setCssUpTime(TEST_UPTIME); cssProfile.setEmailID(TEST_EMAIL); cssProfile.setEntity(CSSManagerEnums.entityType.Organisation.ordinal()); cssProfile.setForeName(TEST_FORENAME); cssProfile.setHomeLocation(TEST_HOME_LOCATION); // cssProfile.setIdentityName(TEST_IDENTITY_NAME); // cssProfile.setImID(TEST_IM_ID); cssProfile.setName(TEST_NAME); cssProfile.setPassword(TEST_PASSWORD); // cssProfile.setPresence(CSSManagerEnums.presenceType.Available.ordinal()); cssProfile.setSex(CSSManagerEnums.genderType.Unspecified.ordinal()); // cssProfile.setSocialURI(TEST_SOCIAL_URI); assertEquals(cssArchivedNodes.size(), cssProfile.getArchiveCSSNodes().size()); assertEquals(cssArchivedNodes.get(0).getIdentity(), cssProfile.getArchiveCSSNodes().get(0).getIdentity()); assertEquals(TEST_IDENTITY, cssProfile.getCssIdentity()); // assertEquals(TEST_INACTIVE_DATE, cssProfile.getCssInactivation()); assertEquals(cssNodes.size(), cssProfile.getCssNodes().size()); assertEquals(cssNodes.get(0).getIdentity(), cssProfile.getCssNodes().get(0).getIdentity()); // assertEquals(TEST_REGISTERED_DATE, cssProfile.getCssRegistration()); // assertEquals(CSSManagerEnums.cssStatus.Active.ordinal(), cssProfile.getStatus()); // assertEquals(TEST_UPTIME, cssProfile.getCssUpTime()); assertEquals(TEST_EMAIL, cssProfile.getEmailID()); assertEquals(CSSManagerEnums.entityType.Organisation.ordinal(), cssProfile.getEntity()); assertEquals(TEST_FORENAME, cssProfile.getForeName()); assertEquals(TEST_HOME_LOCATION, cssProfile.getHomeLocation()); // assertEquals(TEST_IDENTITY_NAME, cssProfile.getIdentityName()); // assertEquals(TEST_IM_ID, cssProfile.getImID()); assertEquals(TEST_NAME, cssProfile.getName()); assertEquals(TEST_PASSWORD, cssProfile.getPassword()); // assertEquals(CSSManagerEnums.presenceType.Available.ordinal(), cssProfile.getPresence()); assertEquals(CSSManagerEnums.genderType.Unspecified.ordinal(), cssProfile.getSex()); // assertEquals(TEST_SOCIAL_URI, cssProfile.getSocialURI()); } @MediumTest public void testArrays() { CssRecord cssProfile = new CssRecord(); assertEquals(0, cssProfile.getArchiveCSSNodes().size()); assertEquals(0, cssProfile.getCssNodes().size()); } @MediumTest public void testParcelable() { CssRecord cssRecord = new CssRecord(); assertNotNull(cssRecord); cssRecord.getCssNodes().add(cssNode_1); cssRecord.getCssNodes().add(cssNode_2); cssRecord.getArchiveCSSNodes().add(cssNode_1); cssRecord.getArchiveCSSNodes().add(cssNode_2); cssRecord.setCssIdentity(TEST_IDENTITY); // cssRecord.setCssInactivation(TEST_INACTIVE_DATE); // cssRecord.setCssRegistration(TEST_REGISTERED_DATE); // cssRecord.setStatus(CSSManagerEnums.cssStatus.Active.ordinal()); // cssRecord.setCssUpTime(TEST_UPTIME); cssRecord.setEmailID(TEST_EMAIL); cssRecord.setEntity(CSSManagerEnums.entityType.Organisation.ordinal()); cssRecord.setForeName(TEST_FORENAME); cssRecord.setHomeLocation(TEST_HOME_LOCATION); // cssRecord.setIdentityName(TEST_IDENTITY_NAME); // cssRecord.setImID(TEST_IM_ID); cssRecord.setName(TEST_NAME); cssRecord.setPassword(TEST_PASSWORD); // cssRecord.setPresence(CSSManagerEnums.presenceType.Available.ordinal()); cssRecord.setSex(CSSManagerEnums.genderType.Unspecified.ordinal()); // cssRecord.setSocialURI(TEST_SOCIAL_URI); assertEquals(0, cssRecord.describeContents()); Log.d(LOG_TAG, "Start Parcelable Serialise : " + System.currentTimeMillis()); Parcel parcel = Parcel.obtain(); cssRecord.writeToParcel(parcel, 0); Log.d(LOG_TAG, "End Parcelable Serialise : " + System.currentTimeMillis()); //done writing, now reset parcel for reading parcel.setDataPosition(0); //finish round trip CssRecord createFromParcel = CssRecord.CREATOR.createFromParcel(parcel); Log.d(LOG_TAG, "Finish Serialise : " + System.currentTimeMillis()); // assertEquals(cssRecord.getCssHostingLocation(), createFromParcel.getCssHostingLocation()); assertEquals(cssRecord.getCssIdentity(), createFromParcel.getCssIdentity()); // assertEquals(cssRecord.getCssInactivation(), createFromParcel.getCssInactivation()); // assertEquals(cssRecord.getCssRegistration(), createFromParcel.getCssRegistration()); // assertEquals(cssRecord.getCssUpTime(), createFromParcel.getCssUpTime()); assertEquals(cssRecord.getDomainServer(), createFromParcel.getDomainServer()); assertEquals(cssRecord.getEmailID(), createFromParcel.getEmailID()); assertEquals(cssRecord.getEntity(), createFromParcel.getEntity()); assertEquals(cssRecord.getForeName(), createFromParcel.getForeName()); assertEquals(cssRecord.getHomeLocation(), createFromParcel.getHomeLocation()); // assertEquals(cssRecord.getIdentityName(), createFromParcel.getIdentityName()); // assertEquals(cssRecord.getImID(), createFromParcel.getImID()); assertEquals(cssRecord.getName(), createFromParcel.getName()); assertEquals(cssRecord.getPassword(), createFromParcel.getPassword()); // assertEquals(cssRecord.getPresence(), createFromParcel.getPresence()); assertEquals(cssRecord.getSex(), createFromParcel.getSex()); // assertEquals(cssRecord.getSocialURI(), createFromParcel.getSocialURI()); // assertEquals(cssRecord.getStatus(), createFromParcel.getStatus()); assertEquals(cssRecord.getArchiveCSSNodes().size(), createFromParcel.getArchiveCSSNodes().size()); assertEquals(cssRecord.getCssNodes().size(), createFromParcel.getCssNodes().size()); } // @MediumTest // public void testSimpleSerialisation() throws Exception { // try { // // CssRecord cssRecord = new CssRecord(); // assertNotNull(cssRecord); // // cssRecord.getCssNodes().add(cssNode_1); // cssRecord.getCssNodes().add(cssNode_2); // cssRecord.getArchiveCSSNodes().add(cssNode_1); // cssRecord.getArchiveCSSNodes().add(cssNode_2); // // cssRecord.setCssIdentity(TEST_IDENTITY); // cssRecord.setCssInactivation(TEST_INACTIVE_DATE); // cssRecord.setCssRegistration(TEST_REGISTERED_DATE); // cssRecord.setStatus(CSSManagerEnums.cssStatus.Active.ordinal()); // cssRecord.setCssUpTime(TEST_UPTIME); // cssRecord.setEmailID(TEST_EMAIL); // cssRecord.setEntity(CSSManagerEnums.entityType.Organisation.ordinal()); // cssRecord.setForeName(TEST_FORENAME); // cssRecord.setHomeLocation(TEST_HOME_LOCATION); // cssRecord.setIdentityName(TEST_IDENTITY_NAME); // cssRecord.setImID(TEST_IM_ID); // cssRecord.setName(TEST_NAME); // cssRecord.setPassword(TEST_PASSWORD); // cssRecord.setPresence(CSSManagerEnums.presenceType.Available.ordinal()); // cssRecord.setSex(CSSManagerEnums.genderType.Unspecified.ordinal()); // cssRecord.setSocialURI(TEST_SOCIAL_URI); // // SocietiesSerialiser serialiser = new SocietiesSerialiser(); // // Log.d(LOG_TAG, "Start Simple Serialise : " + System.currentTimeMillis()); // //serialise record // String xmlRecord = serialiser.Write(cssRecord); // // Log.d(LOG_TAG, "End Simple Serialise : " + System.currentTimeMillis()); // // Log.d(LOG_TAG, "Size of XML: " + xmlRecord.length()); // // // //de-serialise record // CssRecord record = (CssRecord) serialiser.Read(CssRecord.class, xmlRecord); // Log.d(LOG_TAG, "Finish Serialise : " + System.currentTimeMillis()); // // SocietiesSerialiser serialiser_1 = new SocietiesSerialiser(); // // // Log.d(LOG_TAG, "Start Simple Serialise : " + System.currentTimeMillis()); // //serialise record // String xmlRecord_1 = serialiser_1.Write(cssRecord); // // Log.d(LOG_TAG, "End Simple Serialise : " + System.currentTimeMillis()); // // Log.d(LOG_TAG, "Size of XML: " + xmlRecord_1.length()); // // // //de-serialise record // CssRecord record_1 = (CssRecord) serialiser_1.Read(CssRecord.class, xmlRecord_1); // Log.d(LOG_TAG, "Finish Serialise : " + System.currentTimeMillis()); // // // assertEquals(cssRecord.getCssHostingLocation(), record.getCssHostingLocation()); // assertEquals(cssRecord.getCssIdentity(), record.getCssIdentity()); // assertEquals(cssRecord.getCssInactivation(), record.getCssInactivation()); // assertEquals(cssRecord.getCssRegistration(), record.getCssRegistration()); // assertEquals(cssRecord.getCssUpTime(), record.getCssUpTime()); // assertEquals(cssRecord.getDomainServer(), record.getDomainServer()); // assertEquals(cssRecord.getEmailID(), record.getEmailID()); // assertEquals(cssRecord.getEntity(), record.getEntity()); // assertEquals(cssRecord.getForeName(), record.getForeName()); // assertEquals(cssRecord.getHomeLocation(), record.getHomeLocation()); // assertEquals(cssRecord.getIdentityName(), record.getIdentityName()); // assertEquals(cssRecord.getImID(), record.getImID()); // assertEquals(cssRecord.getName(), record.getName()); // assertEquals(cssRecord.getPassword(), record.getPassword()); // assertEquals(cssRecord.getPresence(), record.getPresence()); // assertEquals(cssRecord.getSex(), record.getSex()); // assertEquals(cssRecord.getSocialURI(), record.getSocialURI()); // assertEquals(cssRecord.getStatus(), record.getStatus()); // assertEquals(cssRecord.getArchiveCSSNodes().size(), record.getArchiveCSSNodes().size()); // assertEquals(cssRecord.getCssNodes().size(), record.getCssNodes().size()); // // // } catch (Exception e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } // // } }