### Question:
GestureSelectionHelper implements OnItemTouchListener { @Override public boolean onInterceptTouchEvent(@NonNull RecyclerView unused, @NonNull MotionEvent e) { if (MotionEvents.isMouseEvent(e)) { if (Shared.DEBUG) Log.w(TAG, "Unexpected Mouse event. Check configuration."); } switch (e.getActionMasked()) { case MotionEvent.ACTION_DOWN: return handleInterceptedDownEvent(e); case MotionEvent.ACTION_MOVE: return mStarted; } return false; } GestureSelectionHelper(
            @NonNull SelectionTracker<?> selectionTracker,
            @NonNull ViewDelegate view,
            @NonNull AutoScroller scroller,
            @NonNull OperationMonitor lock); @Override /** @hide */ boolean onInterceptTouchEvent(@NonNull RecyclerView unused, @NonNull MotionEvent e); @Override /** @hide */ void onTouchEvent(@NonNull RecyclerView unused, @NonNull MotionEvent e); @Override /** @hide */ void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept);  }### Answer:
@Test public void testIgnoresDownOnNoPosition() { mView.mNextPosition = RecyclerView.NO_POSITION; assertFalse(mHelper.onInterceptTouchEvent(null, DOWN)); }
@Test public void testClaimsDownOnItem() { mView.mNextPosition = 0; assertTrue(mHelper.onInterceptTouchEvent(null, DOWN)); }