### Question:
MultiFingerTapGestureDetector extends
  MultiFingerGesture<MultiFingerTapGestureDetector.OnMultiFingerTapGestureListener> { boolean exceededMovementThreshold(HashMap<PointerDistancePair, MultiFingerDistancesObject> map) { for (MultiFingerDistancesObject distancesObject : map.values()) { float diffX = Math.abs(distancesObject.getCurrFingersDiffX() - distancesObject.getPrevFingersDiffX()); float diffY = Math.abs(distancesObject.getCurrFingersDiffY() - distancesObject.getPrevFingersDiffY()); invalidMovement = diffX > multiFingerTapMovementThreshold || diffY > multiFingerTapMovementThreshold; if (invalidMovement) { return true; } } return false; } MultiFingerTapGestureDetector(Context context, AndroidGesturesManager gesturesManager); long getMultiFingerTapTimeThreshold(); void setMultiFingerTapTimeThreshold(long multiFingerTapTimeThreshold); float getMultiFingerTapMovementThreshold(); void setMultiFingerTapMovementThreshold(float multiFingerTapMovementThreshold); void setMultiFingerTapMovementThresholdResource(@DimenRes int multiFingerTapMovementThresholdDimen);  }### Answer:
@Test public void twoFingerTapMovementTest() { when( gestureDetector.exceededMovementThreshold(gestureDetector.pointersDistanceMap)) .thenReturn(false); dispatchMovement(); verify(listener, times(1)).onMultiFingerTap(gestureDetector, 2); when( gestureDetector.exceededMovementThreshold(gestureDetector.pointersDistanceMap)) .thenReturn(true); dispatchMovement(); verify(listener, times(1)).onMultiFingerTap(gestureDetector, 2); }