### Question:
DefaultRetryHandler implements GenericRetryHandler { @Override public Class<?> getInputArgsType() { return this.inputArgsType; } DefaultRetryHandler(RetryHandler delegate); @Override Class<?> getInputArgsType(); @Override String name(); @Override String identity(); @Override Object handle(Object arg); @Override RetryListener retryListener(); @Override String cron(); @Override int interval(); @Override int maxRetryCount(); @Override int initialDelay(); @Override boolean ignoreException(); @Override boolean autoStartup();  }### Answer:
@Test public void testGetInputArgsType() { DefaultRetryHandler defaultRetryHandler = new DefaultRetryHandler(new MyStringRetryHandler()); Assertions.assertThat(defaultRetryHandler.getInputArgsType()).isEqualTo(String.class); defaultRetryHandler = new DefaultRetryHandler(new MyIntegerRetryHandler()); Assertions.assertThat(defaultRetryHandler.getInputArgsType()).isEqualTo(Integer.class); }
@Test(expected = IllegalRetryException.class) public void testGetInputArgsTypeWithNoGenerice() { DefaultRetryHandler defaultRetryHandler = new DefaultRetryHandler(new MyRetryHandler()); defaultRetryHandler.getInputArgsType(); }
@Test(expected = IllegalRetryException.class) public void testGetInputArgsTypeWithListGenerice() { DefaultRetryHandler defaultRetryHandler = new DefaultRetryHandler(new ListRetryHandler()); defaultRetryHandler.getInputArgsType(); }
@Test(expected = IllegalRetryException.class) public void testGetInputArgsTypeWithUserListGenerice() { DefaultRetryHandler defaultRetryHandler = new DefaultRetryHandler(new UserListRetryHandler()); defaultRetryHandler.getInputArgsType(); }
@Test(expected = IllegalRetryException.class) public void testGetInputArgsTypeWithObject() { DefaultRetryHandler defaultRetryHandler = new DefaultRetryHandler(new MyObjectRetryHandler()); defaultRetryHandler.getInputArgsType(); }