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 android.os.Parcel;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.MediumTest;
public class TestCommunity extends AndroidTestCase{
protected void setUp() throws Exception {
super.setUp();
//after
}
protected void tearDown() throws Exception {
//before
super.tearDown();
}
@MediumTest
public void testParcelable() throws Exception {
Community community = new Community();
community.setCommunityName("name");
community.setDescription("desc");
community.setCommunityType("type");
community.setCommunityJid("jid");
community.setOwnerJid("ownerJid");
assertEquals(0, community.describeContents());
Parcel parcel = Parcel.obtain();
community.writeToParcel(parcel, 0);
//done writing, now reset parcel for reading
parcel.setDataPosition(0);
//finish round trip
Community createFromParcel = Community.CREATOR.createFromParcel(parcel);
assertEquals(community.getCommunityName(), createFromParcel.getCommunityName());
assertEquals(community.getDescription(), createFromParcel.getDescription());
assertEquals(community.getCommunityType(), createFromParcel.getCommunityType());
assertEquals(community.getCommunityJid(), createFromParcel.getCommunityJid());
assertEquals(community.getOwnerJid(), createFromParcel.getOwnerJid());
}
@MediumTest
public void testParcelableWithEmptyCrit() throws Exception {
Community community = new Community();
community.setCommunityName("name");
community.setDescription("desc");
community.setCommunityType("type");
community.setCommunityJid("jid");
community.setOwnerJid("ownerJid");
MembershipCrit amembershipCrit = new MembershipCrit();
List<Criteria> l = new ArrayList<Criteria>();
amembershipCrit.setCriteria(l);
community.setMembershipCrit(amembershipCrit);
Parcel parcel = Parcel.obtain();
community.writeToParcel(parcel, 0);
//done writing, now reset parcel for reading
parcel.setDataPosition(0);
//finish round trip
Community createFromParcel = Community.CREATOR.createFromParcel(parcel);
assertEquals(community.getCommunityName(), createFromParcel.getCommunityName());
assertEquals(community.getDescription(), createFromParcel.getDescription());
assertEquals(community.getCommunityType(), createFromParcel.getCommunityType());
assertEquals(community.getCommunityJid(), createFromParcel.getCommunityJid());
assertEquals(community.getOwnerJid(), createFromParcel.getOwnerJid());
assertEquals(community.getMembershipCrit().getCriteria().size(), createFromParcel.getMembershipCrit().getCriteria().size());
assertEquals(0, createFromParcel.getMembershipCrit().getCriteria().size());
}
@MediumTest
public void testParcelableWithCrit() throws Exception {
Community community = new Community();
community.setCommunityName("name");
community.setDescription("desc");
community.setCommunityType("type");
community.setCommunityJid("jid");
community.setOwnerJid("ownerJid");
MembershipCrit amembershipCrit = new MembershipCrit();
List<Criteria> l = new ArrayList<Criteria>();
Criteria a = new Criteria();
a.setAttrib("location");
a.setOperator("equals");
a.setRank(1);
a.setValue1("Paris");
l.add(a);
amembershipCrit.setCriteria(l);
community.setMembershipCrit(amembershipCrit);
Parcel parcel = Parcel.obtain();
community.writeToParcel(parcel, 0);
//done writing, now reset parcel for reading
parcel.setDataPosition(0);
//finish round trip
Community createFromParcel = Community.CREATOR.createFromParcel(parcel);
assertEquals(community.getCommunityName(), createFromParcel.getCommunityName());
assertEquals(community.getDescription(), createFromParcel.getDescription());
assertEquals(community.getCommunityType(), createFromParcel.getCommunityType());
assertEquals(community.getCommunityJid(), createFromParcel.getCommunityJid());
assertEquals(community.getOwnerJid(), createFromParcel.getOwnerJid());
assertEquals(community.getMembershipCrit().getCriteria().size(), createFromParcel.getMembershipCrit().getCriteria().size());
assertEquals(community.getMembershipCrit().getCriteria().get(0).getAttrib(), createFromParcel.getMembershipCrit().getCriteria().get(0).getAttrib());
assertEquals(community.getMembershipCrit().getCriteria().get(0).getOperator(), createFromParcel.getMembershipCrit().getCriteria().get(0).getOperator());
assertEquals(community.getMembershipCrit().getCriteria().get(0).getValue1(), createFromParcel.getMembershipCrit().getCriteria().get(0).getValue1());
assertEquals(community.getMembershipCrit().getCriteria().get(0).getRank(), createFromParcel.getMembershipCrit().getCriteria().get(0).getRank());
}
}