    @Test
    public void get20ItemDetails() throws RemoteException, BillingException {

        int size = 20;
        ArrayList<String> itemIds = mDataConverter.convertToItemIdArrayList(size);
        ArrayList<String> items = mDataConverter.convertToSkuItemDetailsJsonArrayList(size, PurchaseType.IN_APP);
        Bundle responseBundle = new Bundle();
        responseBundle.putLong(Constants.RESPONSE_CODE, 0L);
        responseBundle.putStringArrayList(Constants.RESPONSE_DETAILS_LIST, items);
        ItemDetails itemDetails = null;

        when(mService.getSkuDetails(
                anyInt(),
                anyString(),
                anyString(),
                any(Bundle.class)
        )).thenReturn(responseBundle);
        try {
            itemDetails = mGetter.get(mService, Constants.TYPE_IN_APP, itemIds);
        } finally {
            assertThat(itemDetails).isNotNull();
            assertThat(itemDetails.getSize()).isEqualTo(size);
            assertThat(itemDetails.getAll()).isNotNull();

            List<Item> purchaseList = itemDetails.getAll();
            for (Item p : purchaseList) {
                assertThat(itemDetails.hasItemId(p.getSku())).isTrue();
                assertThat(itemDetails.getByItemId(p.getSku())).isNotNull();
            }
            verify(mService, times(1)).getSkuDetails(
                    anyInt(),
                    anyString(),
                    anyString(),
                    any(Bundle.class)
            );
        }
    }