package org.societies.android.api.internal.cssmanager; import org.societies.api.internal.css.management.CSSManagerEnums; import org.societies.api.schema.cssmanagement.CssRecord; import android.os.Parcel; import android.test.AndroidTestCase; public class TestAndroidCSSRecord extends AndroidTestCase{ 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 AndroidCSSNode cssNode_1, cssNode_2; private AndroidCSSNode cssNodes []; private AndroidCSSNode cssArchivedNodes []; protected void setUp() throws Exception { super.setUp(); cssNode_1 = new AndroidCSSNode(); cssNode_1.setIdentity(TEST_IDENTITY_1); cssNode_1.setStatus(CSSManagerEnums.nodeStatus.Available.ordinal()); cssNode_1.setType(CSSManagerEnums.nodeType.Rich.ordinal()); cssNode_2 = new AndroidCSSNode(); cssNode_2.setIdentity(TEST_IDENTITY_2); cssNode_2.setStatus(CSSManagerEnums.nodeStatus.Hibernating.ordinal()); cssNode_2.setType(CSSManagerEnums.nodeType.Android.ordinal()); cssNodes = new AndroidCSSNode[2]; cssNodes[0] = cssNode_1; cssNodes[1] = cssNode_2; cssArchivedNodes = new AndroidCSSNode[2]; cssArchivedNodes[0] = cssNode_1; cssArchivedNodes[1] = cssNode_2; } protected void tearDown() throws Exception { cssNode_1 = null; cssNode_2 = null; cssNodes = null; cssArchivedNodes = null; super.tearDown(); } public void testConstructor() { AndroidCSSRecord cssProfile = new AndroidCSSRecord(); 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.length, cssProfile.getArchivedCSSNodes().length); assertEquals(cssArchivedNodes[0].getIdentity(), cssProfile.getArchivedCSSNodes()[0].getIdentity()); assertEquals(TEST_IDENTITY, cssProfile.getCssIdentity()); assertEquals(TEST_INACTIVE_DATE, cssProfile.getCssInactivation()); assertEquals(cssNodes.length, cssProfile.getCSSNodes().length); assertEquals(cssNodes[0].getIdentity(), cssProfile.getCSSNodes()[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()); } public void testArrays() { AndroidCSSRecord cssProfile = new AndroidCSSRecord(); assertEquals(0, cssProfile.getArchivedCSSNodes().length); assertEquals(0, cssProfile.getCSSNodes().length); } public void testConversion() { CssRecord cssProfile = new CssRecord(); cssProfile.getCssNodes().add(cssNode_1); cssProfile.getCssNodes().add(cssNode_2); cssProfile.getArchiveCSSNodes().add(cssNode_1); cssProfile.getArchiveCSSNodes().add(cssNode_2); 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(2, cssProfile.getArchiveCSSNodes().size()); assertEquals(TEST_IDENTITY, cssProfile.getCssIdentity()); assertEquals(TEST_INACTIVE_DATE, cssProfile.getCssInactivation()); assertEquals(2, cssProfile.getCssNodes().size()); 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()); AndroidCSSRecord aRecord = AndroidCSSRecord.convertCssRecord(cssProfile); assertEquals(2, aRecord.getArchivedCSSNodes().length); assertEquals(TEST_IDENTITY, aRecord.getCssIdentity()); assertEquals(TEST_INACTIVE_DATE, aRecord.getCssInactivation()); assertEquals(2, aRecord.getCSSNodes().length); assertEquals(TEST_REGISTERED_DATE, aRecord.getCssRegistration()); assertEquals(CSSManagerEnums.cssStatus.Active.ordinal(), aRecord.getStatus()); assertEquals(TEST_UPTIME, aRecord.getCssUpTime()); assertEquals(TEST_EMAIL, aRecord.getEmailID()); assertEquals(CSSManagerEnums.entityType.Organisation.ordinal(), aRecord.getEntity()); assertEquals(TEST_FORENAME, aRecord.getForeName()); assertEquals(TEST_HOME_LOCATION, aRecord.getHomeLocation()); assertEquals(TEST_IDENTITY_NAME, aRecord.getIdentityName()); assertEquals(TEST_IM_ID, aRecord.getImID()); assertEquals(TEST_NAME, aRecord.getName()); assertEquals(TEST_PASSWORD, aRecord.getPassword()); assertEquals(CSSManagerEnums.presenceType.Available.ordinal(), aRecord.getPresence()); assertEquals(CSSManagerEnums.genderType.Unspecified.ordinal(), aRecord.getSex()); assertEquals(TEST_SOCIAL_URI, aRecord.getSocialURI()); } public void testParcelable() { AndroidCSSRecord cssRecord = new AndroidCSSRecord(); 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()); Parcel parcel = Parcel.obtain(); cssRecord.writeToParcel(parcel, 0); //done writing, now reset parcel for reading parcel.setDataPosition(0); //finish round trip AndroidCSSRecord createFromParcel = AndroidCSSRecord.CREATOR.createFromParcel(parcel); 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.getArchivedCSSNodes().length, createFromParcel.getArchivedCSSNodes().length); assertEquals(cssRecord.getCSSNodes().length, createFromParcel.getCSSNodes().length); } }