package org.techbooster.app.abc.tools; import android.os.Parcelable; import com.google.gson.reflect.TypeToken; import junit.framework.TestCase; import org.techbooster.app.abc.models.ConferenceSession; import java.util.ArrayList; import java.util.Collection; import java.util.List; public class GsonParcerTest extends TestCase { public void testWrap() throws Exception { ConferenceSession session = new ConferenceSession(); session.setTrackName("test track"); session.setSessionTitle("title"); session.setSpeakerName("tester"); Parcelable parcelable = GsonParcer.wrap(session); ConferenceSession object = GsonParcer.unwrap(parcelable); assertEquals("test track", object.getTrackName()); assertEquals("title", object.getSessionTitle()); assertEquals("tester", object.getSpeakerName()); } public void testWrapList() throws Exception { List<ConferenceSession> sessions = new ArrayList<ConferenceSession>(); for (int i = 0; i < 10; i++) { ConferenceSession session = new ConferenceSession(); session.setTrackName("test track" + i); session.setSessionTitle("title" + i); session.setSpeakerName("tester" + i); sessions.add(session); } Parcelable parcelable = GsonParcer.wrap(sessions); List<ConferenceSession> objects = GsonParcer.unwrap(parcelable, new TypeToken<Collection<ConferenceSession>>() { }); for (int i = 0; i < 10; i++) { ConferenceSession object = objects.get(i); assertEquals("test track" + i, object.getTrackName()); assertEquals("title" + i, object.getSessionTitle()); assertEquals("tester" + i, object.getSpeakerName()); } } }