@Test public void shouldQueryInventoryWithSubscriptionsAndSkusAndMoreSkus() throws Exception {

    shouldStartSetup_SuccessCase();
    when(service.getPurchases(API_VERSION, Robolectric.application.getPackageName(), "inapp", null))
            .thenReturn(createInventoryResponseBundle("inappSku"));
    when(service.getPurchases(API_VERSION, Robolectric.application.getPackageName(), "subs", null))
            .thenReturn(createInventoryResponseBundle("subSku"));
    when(service.getSkuDetails(eq(API_VERSION),
            eq(Robolectric.application.getPackageName()),
            eq("inapp"),
            TestHelper.BundleStringArrayListMatcher.bundleWithStringValues(GET_SKU_DETAILS_ITEM_LIST, "inappSku", "anotherInAppSku")))
            .thenReturn(createSkuDetailsResponseBundle("inappSku", "anotherInappSku"));
    when(service.getSkuDetails(eq(API_VERSION),
            eq(Robolectric.application.getPackageName()),
            eq("subs"),
            TestHelper.BundleStringArrayListMatcher.bundleWithStringValues(GET_SKU_DETAILS_ITEM_LIST, "subSku", "anotherSubSku")))
            .thenReturn(createSkuDetailsResponseBundle("subSku", "anotherSubSku"));
    Inventory inventory = helper.queryInventory(true,
            asArrayList("anotherInAppSku"),
            asArrayList("anotherSubSku"));
    assertThat(inventory.getAllOwnedSkus(INAPP)).hasSize(1);
    assertThat(inventory.getAllOwnedSkus(SUBS)).hasSize(1);
    assertThat(inventory.getAllPurchases()).hasSize(2); // inappSku + subSku
    assertThat(inventory.getAllOwnedSkus()).hasSize(2);
    assertThat(inventory.getSkuDetails()).hasSize(4);
}