@Test public void testRemoveItemById() { final SimpleAdapterDataSet<String> dataSet = new SimpleAdapterDataSet<>(); final List<String> items = createItems(10); final DataSet mockDataSet = mock(DataSet.class); when(mockDataSet.getItemCount()).thenReturn(items.size()); dataSet.swapItems(items); dataSet.setItemPositionResolver(new DataSetItemPositionResolver(mockDataSet)); final SimpleAdapterDataSet.ItemsCallback mockCallback = mock(SimpleAdapterDataSet.ItemsCallback.class); dataSet.setItemsCallback(mockCallback); for (int i = dataSet.getItemCount() - 1; i >= 0; i--) { when(mockDataSet.getItemId(i)).thenReturn(i + 1L); assertThat(dataSet.removeItemById(i + 1L), is("Test item no. " + (i + 1))); assertThat(dataSet.hasItemAt(i), is(false)); verify(mockCallback).onItemRangeRemoved(i, 1); } verify(mockCallback, times(0)).onItemRangeInserted(anyInt(), anyInt()); verify(mockCallback, times(0)).onItemRangeChanged(anyInt(), anyInt()); verify(mockCallback, times(0)).onItemMoved(anyInt(), anyInt()); }
@Override @NonNull public I removeItemById(final long itemId) { final int position = resolvePositionForItemId(itemId); if (position == NO_POSITION) { throw new AssertionError("No item to be removed with id(" + itemId + ") found!"); } return removeItem(position); }
SimpleAdapterDataSet implements SimpleDataSet<I> { @Override @NonNull public I removeItemById(final long itemId) { final int position = resolvePositionForItemId(itemId); if (position == NO_POSITION) { throw new AssertionError("No item to be removed with id(" + itemId + ") found!"); } return removeItem(position); } }
SimpleAdapterDataSet implements SimpleDataSet<I> { @Override @NonNull public I removeItemById(final long itemId) { final int position = resolvePositionForItemId(itemId); if (position == NO_POSITION) { throw new AssertionError("No item to be removed with id(" + itemId + ") found!"); } return removeItem(position); } SimpleAdapterDataSet();   SimpleAdapterDataSet(@Nullable final List<I> items); }
SimpleAdapterDataSet implements SimpleDataSet<I> { @Override @NonNull public I removeItemById(final long itemId) { final int position = resolvePositionForItemId(itemId); if (position == NO_POSITION) { throw new AssertionError("No item to be removed with id(" + itemId + ") found!"); } return removeItem(position); } SimpleAdapterDataSet();   SimpleAdapterDataSet(@Nullable final List<I> items); @Override boolean isEmpty(); @Override int getItemCount(); @Override void insertItem(@NonNull final I item); @Override void insertItem(final int position, @NonNull final I item); @Override void insertItems(@NonNull final List<I> items); @Override void insertItems(final int positionStart, @NonNull final List<I> items); @Override @NonNull I swapItemById(final long itemId, @NonNull final I item); @Override @NonNull I swapItem(final int position, @NonNull final I item); @Override void moveItem(final int fromPosition, final int toPosition); @Override int removeItem(@NonNull final I item); @Override @NonNull I removeItemById(final long itemId); @Override @NonNull I removeItem(final int position); @Override @NonNull List<I> removeItems(final int positionStart, final int itemCount); @Override boolean hasItemAt(final int position); @Override boolean isEnabled(final int position); @Override boolean hasStableIds(); @Override long getItemId(final int position); @SuppressWarnings({"unchecked", "ConstantConditions"}) @Override @NonNull I getItem(int position); }
SimpleAdapterDataSet implements SimpleDataSet<I> { @Override @NonNull public I removeItemById(final long itemId) { final int position = resolvePositionForItemId(itemId); if (position == NO_POSITION) { throw new AssertionError("No item to be removed with id(" + itemId + ") found!"); } return removeItem(position); } SimpleAdapterDataSet();   SimpleAdapterDataSet(@Nullable final List<I> items); @Override boolean isEmpty(); @Override int getItemCount(); @Override void insertItem(@NonNull final I item); @Override void insertItem(final int position, @NonNull final I item); @Override void insertItems(@NonNull final List<I> items); @Override void insertItems(final int positionStart, @NonNull final List<I> items); @Override @NonNull I swapItemById(final long itemId, @NonNull final I item); @Override @NonNull I swapItem(final int position, @NonNull final I item); @Override void moveItem(final int fromPosition, final int toPosition); @Override int removeItem(@NonNull final I item); @Override @NonNull I removeItemById(final long itemId); @Override @NonNull I removeItem(final int position); @Override @NonNull List<I> removeItems(final int positionStart, final int itemCount); @Override boolean hasItemAt(final int position); @Override boolean isEnabled(final int position); @Override boolean hasStableIds(); @Override long getItemId(final int position); @SuppressWarnings({"unchecked", "ConstantConditions"}) @Override @NonNull I getItem(int position);  }