package de.westnordost.streetcomplete.util; import android.os.Parcel; import android.test.InstrumentationTestCase; import android.view.View; import java.util.HashMap; public class SerializedSavedStateTest extends InstrumentationTestCase { public void testWriteRead() { HashMap<String,String> data = new HashMap<>(); data.put("A","B"); data.put("C","D"); SerializedSavedState savedState = new SerializedSavedState(View.BaseSavedState.EMPTY_STATE, data); savedState.serializer = new KryoSerializer(); assertEquals(data, savedState.get(HashMap.class)); Parcel parcel = Parcel.obtain(); savedState.writeToParcel(parcel,0); // rewind parcel so that we can read it from pos 0. Could also marshal and then unmarshal, // but lets include as little functionality outside of our class as possible parcel.setDataPosition(0); SerializedSavedState savedState2 = SerializedSavedState.CREATOR.createFromParcel(parcel); savedState.serializer = new KryoSerializer(); assertEquals(data, savedState2.get(HashMap.class)); } }