### Question:
ShoveGestureDetector extends ProgressiveGesture<ShoveGestureDetector.OnShoveGestureListener> { boolean isAngleAcceptable() { MultiFingerDistancesObject distancesObject = pointersDistanceMap.get(new PointerDistancePair(pointerIdList.get(0), pointerIdList.get(1))); double angle = Math.toDegrees(Math.abs(Math.atan2( distancesObject.getCurrFingersDiffY(), distancesObject.getCurrFingersDiffX()))); return angle <= maxShoveAngle || 180f - angle <= maxShoveAngle; } ShoveGestureDetector(Context context, AndroidGesturesManager gesturesManager); float getDeltaPixelsSinceStart(); float getDeltaPixelSinceLast(); float getPixelDeltaThreshold(); void setPixelDeltaThreshold(float pixelDeltaThreshold); void setPixelDeltaThresholdResource(@DimenRes int pixelDeltaThresholdDimen); float getMaxShoveAngle(); void setMaxShoveAngle(float maxShoveAngle);  }### Answer:
@Test public void isAngleAcceptableTest() { gestureDetector.pointerIdList.add(0); gestureDetector.pointerIdList.add(1); gestureDetector.pointersDistanceMap.put( new PointerDistancePair(0, 1), new MultiFingerDistancesObject(300, 0, 275, 15) ); assertTrue(gestureDetector.isAngleAcceptable()); gestureDetector.pointerIdList.clear(); gestureDetector.pointersDistanceMap.clear(); gestureDetector.pointerIdList.add(0); gestureDetector.pointerIdList.add(1); gestureDetector.pointersDistanceMap.put( new PointerDistancePair(0, 1), new MultiFingerDistancesObject(300, 0, 275, 150) ); assertFalse(gestureDetector.isAngleAcceptable()); }