### Question:
AbstractRetryMessageListener extends AbstractMessageListener<K, V> { protected BackOffPolicy getBackOffPolicy() { ExponentialBackOffPolicy exponentialBackOffPolicy = new ExponentialBackOffPolicy(); exponentialBackOffPolicy.setInitialInterval( backOffInitialInterval ); exponentialBackOffPolicy.setMaxInterval( backOffIMaxInterval ); exponentialBackOffPolicy.setMultiplier( backOffIMultiplier ); return exponentialBackOffPolicy; }  void setRetryMaxAttempts( int retryMaxAttempts ); void setBackOffInitialInterval( long backOffInitialInterval ); void setBackOffIMaxInterval( long backOffIMaxInterval ); void setBackOffIMultiplier( double backOffIMultiplier ); int getRetryMaxAttempts(); long getBackOffInitialInterval(); long getBackOffIMaxInterval(); double getBackOffIMultiplier();  }### Answer:
@Test public void testGetBackOffPolicyShouldHaveDefaultExponentialBackOffPolicy() { BackOffPolicy backOffPolicy = abstractRetryMessageListener.getBackOffPolicy(); assertNotNull( backOffPolicy ); assertTrue( backOffPolicy instanceof ExponentialBackOffPolicy ); assertEquals( ExponentialBackOffPolicy.DEFAULT_INITIAL_INTERVAL, ( (ExponentialBackOffPolicy) backOffPolicy ).getInitialInterval() ); assertEquals( ExponentialBackOffPolicy.DEFAULT_MAX_INTERVAL, ( (ExponentialBackOffPolicy) backOffPolicy ).getMaxInterval() ); assertEquals( Double.valueOf( ExponentialBackOffPolicy.DEFAULT_MULTIPLIER ), Double.valueOf( ( (ExponentialBackOffPolicy) backOffPolicy ).getMultiplier() ) ); }