@Test public void unbindViewHolder_shouldClearViewHolder_whenProcessingExistingViewHolder() { // GIVEN List<AdapterViewTypeDelegate> delegates = singletonList(createValidAdapterViewTypeDelegate(0)); // Delegate already bound to single child item GroupViewHolder groupHolder = createGroupViewHolder(); List<ViewItem> viewItems = singletonList(createViewItem(new ChildModel(0, ""), 0)); List<RecyclerView.ViewHolder> childViewHolders = singletonList(createChildViewHolder("0")); TargetGroupAdapterViewTypeDelegate target = createTargetDelegateWithState(delegates, viewItems, childViewHolders, groupHolder); // EXPECT delegates.get(0).unbindViewHolder(childViewHolders.get(0)); replayAll(); // WHEN target.unbindViewHolder(groupHolder); // THEN assertThat(groupHolder.viewGroup.getChildCount(), is(0)); verifyAll(); }
GroupViewHolder groupHolder = createGroupViewHolder(); TargetGroupAdapterViewTypeDelegate target = createTargetDelegateWithState(delegates, emptyList(), emptyList(), groupHolder);
createValidAdapterViewTypeDelegate(1)); GroupViewHolder groupHolder = createGroupViewHolder(); List<ViewItem> viewItems = asList( createViewItem(new ChildModel(0, ""), 0),
createValidAdapterViewTypeDelegate(1)); GroupViewHolder groupHolder = createGroupViewHolder(); List<ViewItem> viewItems = asList( createViewItem(new ChildModel(0, ""), 0),
createValidAdapterViewTypeDelegate(1)); GroupViewHolder groupHolder = createGroupViewHolder(); List<ViewItem> viewItems = asList( createViewItem(new ChildModel(0, ""), 0),
singletonList(createValidAdapterViewTypeDelegate(0)); GroupViewHolder groupHolder = createGroupViewHolder(); List<ViewItem> viewItems = asList( createViewItem(new ChildModel(0, ""), 0),
@Test public void unbindViewHolder_shouldDoNothing_whenProcessingAFreshViewHolder() { // GIVEN List<AdapterViewTypeDelegate> delegates = singletonList(createValidAdapterViewTypeDelegate(0)); // Fresh Group ViewHolder GroupViewHolder groupHolder = createGroupViewHolder(); replayAll(); TargetGroupAdapterViewTypeDelegate target = new TargetGroupAdapterViewTypeDelegate(delegates); // WHEN target.unbindViewHolder(groupHolder); // THEN verifyAll(); // no unexpected method invocations }
singletonList(createValidAdapterViewTypeDelegate(0)); GroupViewHolder groupHolder = createGroupViewHolder(); List<ViewItem> viewItems = asList( createViewItem(new ChildModel(0, ""), 0),
singletonList(createValidAdapterViewTypeDelegate(0)); GroupViewHolder groupHolder = createGroupViewHolder(); List<ViewItem> viewItems = asList( createViewItem(new ChildModel(0, ""), 0),