package org.societies.android.api.internal.cssmanager;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONTokener;
import org.societies.android.api.css.directory.ACssAdvertisementRecord;
import com.google.gson.Gson;
import android.os.Parcel;
import android.util.Log;
import junit.framework.TestCase;
public class TestACssAdvertisementRecord extends TestCase {
private final static String ADVERT_ID_1 = "advertid1";
private final static String ADVERT_NAME_1 = "advert_name1";
private final static String ADVERT_URI_1 = "advert_URI1";
private final static String ADVERT_ID_2 = "advertid2";
private final static String ADVERT_NAME_2 = "advert_name2";
private final static String ADVERT_URI_2 = "advert_URI2";
protected void setUp() throws Exception {
super.setUp();
//after
}
protected void tearDown() throws Exception {
//before
super.tearDown();
}
public void testParcelable() throws Exception {
ACssAdvertisementRecord aCssAdvert = new ACssAdvertisementRecord();
aCssAdvert.setId(ADVERT_ID_1);
aCssAdvert.setName(ADVERT_NAME_1);
aCssAdvert.setUri(ADVERT_URI_1);
assertEquals(0, aCssAdvert.describeContents());
Parcel parcel = Parcel.obtain();
aCssAdvert.writeToParcel(parcel, 0);
//done writing, now reset parcel for reading
parcel.setDataPosition(0);
//finish round trip
ACssAdvertisementRecord createFromParcel = ACssAdvertisementRecord.CREATOR.createFromParcel(parcel);
assertEquals(aCssAdvert.getName(), createFromParcel.getName());
assertEquals(aCssAdvert.getId(), createFromParcel.getId());
assertEquals(aCssAdvert.getUri(), createFromParcel.getUri());
}
public void testJSONConversion() throws Exception {
ACssAdvertisementRecord aCssAdvert_1 = new ACssAdvertisementRecord();
aCssAdvert_1.setId(ADVERT_ID_1);
aCssAdvert_1.setName(ADVERT_NAME_1);
aCssAdvert_1.setUri(ADVERT_URI_1);
ACssAdvertisementRecord aCssAdvert_2 = new ACssAdvertisementRecord();
aCssAdvert_2.setId(ADVERT_ID_2);
aCssAdvert_2.setName(ADVERT_NAME_2);
aCssAdvert_2.setUri(ADVERT_URI_2);
ACssAdvertisementRecord array [] = {aCssAdvert_1, aCssAdvert_2};
assertEquals(2, array.length);
JSONArray jArray = null;
Gson gson = new Gson();
try {
jArray = new JSONArray (new JSONTokener(gson.toJson(array)));
Log.d("test", gson.toJson(array));
assertEquals(2, jArray.length());
assertEquals(ADVERT_ID_1, jArray.getJSONObject(0).get("id"));
assertEquals(ADVERT_NAME_1, jArray.getJSONObject(0).get("name"));
assertEquals(ADVERT_URI_1, jArray.getJSONObject(0).get("uri"));
assertEquals(ADVERT_ID_2, jArray.getJSONObject(1).get("id"));
assertEquals(ADVERT_NAME_2, jArray.getJSONObject(1).get("name"));
assertEquals(ADVERT_URI_2, jArray.getJSONObject(1).get("uri"));
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}