TodoListController { public void resetState() { updateFooterWhenClickItem(false); for (TodoItemViewModel todoItemViewModel : mItems) { todoItemViewModel.resetState(); } } TodoListController(@NonNull Context context, @NonNull List<TodoItemViewModel> items,
                              @NonNull EventBus eventBus); void setItems(List<TodoItemViewModel> items); void bindFooterAction(TodoFooterViewHolder holder); void bindItemAction(TodoItemViewHolder viewHolder, TodoItemViewModel viewModel); void observeItemHeight(View itemView); void resetState();  }
@Test public void testClickFooter() throws Exception { clickView(mFooterView); verify(mTodoListController).resetState(); }
@Test public void testResetState() throws Exception { clickView(mTodoItemViewHolder.todoView); mTodoListController.resetState(); for (int i = 0; i < mItemViewModelList.size(); i++) { assertNormalitem(i); } }
@Test public void testClickDisableLayer() throws Exception { clickView(mTodoItemViewHolder.disableLayer); verify(mTodoListController).resetState(); }