### Question:
MouseInputHandler extends MotionInputHandler<K> { @Override public boolean onDown(@NonNull MotionEvent e) { if (VERBOSE) Log.v(TAG, "Delegated onDown event."); if ((MotionEvents.isAltKeyPressed(e) && MotionEvents.isPrimaryMouseButtonPressed(e)) || MotionEvents.isSecondaryMouseButtonPressed(e)) { mHandledOnDown = true; return onRightClick(e); } return false; } MouseInputHandler(
            @NonNull SelectionTracker<K> selectionTracker,
            @NonNull ItemKeyProvider<K> keyProvider,
            @NonNull ItemDetailsLookup<K> detailsLookup,
            @NonNull OnContextClickListener onContextClickListener,
            @NonNull OnItemActivatedListener<K> onItemActivatedListener,
            @NonNull FocusDelegate<K> focusDelegate); @Override boolean onDown(@NonNull MotionEvent e); @Override boolean onScroll(@NonNull MotionEvent e1, @NonNull MotionEvent e2,
            float distanceX, float distanceY); @Override boolean onSingleTapUp(@NonNull MotionEvent e); @Override boolean onSingleTapConfirmed(@NonNull MotionEvent e); @Override boolean onDoubleTap(@NonNull MotionEvent e);  }### Answer:
@Test public void testRightClickDown_StartsContextMenu() { mInputDelegate.onDown(SECONDARY_CLICK); mMouseCallbacks.assertLastEvent(SECONDARY_CLICK); }
@Test public void testAltClickDown_StartsContextMenu() { mInputDelegate.onDown(ALT_CLICK); mMouseCallbacks.assertLastEvent(ALT_CLICK); }