package org.societies.android.api.cis.management; import java.util.ArrayList; import java.util.List; import org.societies.api.schema.cis.community.Community; import org.societies.api.schema.cis.community.Criteria; import org.societies.api.schema.cis.community.MembershipCrit; import org.societies.api.schema.cis.manager.CommunityManager; import org.societies.api.schema.cis.manager.Create; import org.societies.android.api.cis.management.ACommunity; import org.societies.android.api.cis.management.ACriteria; import android.os.Parcel; import android.test.AndroidTestCase; public class TestACommunity extends AndroidTestCase{ protected void setUp() throws Exception { super.setUp(); //after } protected void tearDown() throws Exception { //before super.tearDown(); } public void testParcelable() throws Exception { ACommunity aCommunity = new ACommunity(); aCommunity.setCommunityName("name"); aCommunity.setDescription("desc"); aCommunity.setCommunityType("type"); aCommunity.setCommunityJid("jid"); aCommunity.setOwnerJid("ownerJid"); assertEquals(0, aCommunity.describeContents()); Parcel parcel = Parcel.obtain(); aCommunity.writeToParcel(parcel, 0); //done writing, now reset parcel for reading parcel.setDataPosition(0); //finish round trip ACommunity createFromParcel = ACommunity.CREATOR.createFromParcel(parcel); assertEquals(aCommunity.getCommunityName(), createFromParcel.getCommunityName()); assertEquals(aCommunity.getDescription(), createFromParcel.getDescription()); assertEquals(aCommunity.getCommunityType(), createFromParcel.getCommunityType()); assertEquals(aCommunity.getCommunityJid(), createFromParcel.getCommunityJid()); assertEquals(aCommunity.getOwnerJid(), createFromParcel.getOwnerJid()); } public void testParcelableWithEmptyCrit() throws Exception { ACommunity aCommunity = new ACommunity(); aCommunity.setCommunityName("name"); aCommunity.setDescription("desc"); aCommunity.setCommunityType("type"); aCommunity.setCommunityJid("jid"); aCommunity.setOwnerJid("ownerJid"); AMembershipCrit amembershipCrit = new AMembershipCrit(); List<ACriteria> l = new ArrayList<ACriteria>(); amembershipCrit.setACriteria(l); aCommunity.setMembershipCrit(amembershipCrit); Parcel parcel = Parcel.obtain(); aCommunity.writeToParcel(parcel, 0); //done writing, now reset parcel for reading parcel.setDataPosition(0); //finish round trip ACommunity createFromParcel = ACommunity.CREATOR.createFromParcel(parcel); assertEquals(aCommunity.getCommunityName(), createFromParcel.getCommunityName()); assertEquals(aCommunity.getDescription(), createFromParcel.getDescription()); assertEquals(aCommunity.getCommunityType(), createFromParcel.getCommunityType()); assertEquals(aCommunity.getCommunityJid(), createFromParcel.getCommunityJid()); assertEquals(aCommunity.getOwnerJid(), createFromParcel.getOwnerJid()); assertEquals(aCommunity.getMembershipCrit().getACriteria().size(), createFromParcel.getMembershipCrit().getACriteria().size()); assertEquals(0, createFromParcel.getMembershipCrit().getACriteria().size()); } public void testParcelableWithCrit() throws Exception { ACommunity aCommunity = new ACommunity(); aCommunity.setCommunityName("name"); aCommunity.setDescription("desc"); aCommunity.setCommunityType("type"); aCommunity.setCommunityJid("jid"); aCommunity.setOwnerJid("ownerJid"); AMembershipCrit amembershipCrit = new AMembershipCrit(); List<ACriteria> l = new ArrayList<ACriteria>(); ACriteria a = new ACriteria(); a.setAttrib("location"); a.setOperator("equals"); a.setRank(1); a.setValue1("Paris"); l.add(a); amembershipCrit.setACriteria(l); aCommunity.setMembershipCrit(amembershipCrit); Parcel parcel = Parcel.obtain(); aCommunity.writeToParcel(parcel, 0); //done writing, now reset parcel for reading parcel.setDataPosition(0); //finish round trip ACommunity createFromParcel = ACommunity.CREATOR.createFromParcel(parcel); assertEquals(aCommunity.getCommunityName(), createFromParcel.getCommunityName()); assertEquals(aCommunity.getDescription(), createFromParcel.getDescription()); assertEquals(aCommunity.getCommunityType(), createFromParcel.getCommunityType()); assertEquals(aCommunity.getCommunityJid(), createFromParcel.getCommunityJid()); assertEquals(aCommunity.getOwnerJid(), createFromParcel.getOwnerJid()); assertEquals(aCommunity.getMembershipCrit().getACriteria().size(), createFromParcel.getMembershipCrit().getACriteria().size()); assertEquals(aCommunity.getMembershipCrit().getACriteria().get(0).getAttrib(), createFromParcel.getMembershipCrit().getACriteria().get(0).getAttrib()); assertEquals(aCommunity.getMembershipCrit().getACriteria().get(0).getOperator(), createFromParcel.getMembershipCrit().getACriteria().get(0).getOperator()); assertEquals(aCommunity.getMembershipCrit().getACriteria().get(0).getValue1(), createFromParcel.getMembershipCrit().getACriteria().get(0).getValue1()); assertEquals(aCommunity.getMembershipCrit().getACriteria().get(0).getRank(), createFromParcel.getMembershipCrit().getACriteria().get(0).getRank()); } }