package com.anjlab.android.iab.v3; import android.os.Parcel; import org.junit.Test; import static junit.framework.Assert.assertEquals; public class PurchaseInfoParcelableTest { private final String purchaseInfoJson = "{\"orderId\": \"GPA.1234-5678-9012-34567\",\"packageName\": \"com.example.app\","+ "\"productId\": \"exampleSku\",\"purchaseTime\": 1345678900000,\"purchaseState\": 0,"+ "\"developerPayload\": \"bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ\","+ "\"purchaseToken\": \"opaque-token-up-to-1000-characters\"}"; @Test public void testParcelable() throws Exception { PurchaseInfo purchaseInfo = new PurchaseInfo(purchaseInfoJson, "signature"); Parcel parcel = Parcel.obtain(); purchaseInfo.writeToParcel(parcel, 0); parcel.setDataPosition(0); PurchaseInfo newInfo = PurchaseInfo.CREATOR.createFromParcel(parcel); assertEquals(purchaseInfo.responseData, newInfo.responseData); assertEquals(purchaseInfo.signature, newInfo.signature); } @Test public void testResponseDataParcelable() throws Exception { PurchaseInfo purchaseInfo = new PurchaseInfo(purchaseInfoJson, "signature"); PurchaseData responseData = purchaseInfo.parseResponseData(); Parcel parcel = Parcel.obtain(); responseData.writeToParcel(parcel, 0); parcel.setDataPosition(0); PurchaseData newData = PurchaseData.CREATOR.createFromParcel(parcel); assertEquals(responseData.autoRenewing, newData.autoRenewing); assertEquals(responseData.purchaseToken, newData.purchaseToken); assertEquals(responseData.developerPayload, newData.developerPayload); assertEquals(responseData.purchaseState, newData.purchaseState); assertEquals(responseData.purchaseTime, newData.purchaseTime); assertEquals(responseData.productId, newData.productId); assertEquals(responseData.packageName, newData.packageName); assertEquals(responseData.orderId, newData.orderId); } }