GetterSetterPropertyDescriptor extends AbstractPropertyDescriptor { protected abstract Method getReadMethod() throws NoSuchMethodException; GetterSetterPropertyDescriptor(Class<?> clazz, String fieldName, boolean isIndexed, int index,
                                          HintContainer srcDeepIndexHintContainer, HintContainer destDeepIndexHintContainer,
                                          BeanContainer beanContainer, DestBeanCreator destBeanCreator); Class<?> getWriteMethodPropertyType(); Class<?> getPropertyType(); Object getPropertyValue(Object bean); void setPropertyValue(Object bean, Object value, FieldMap fieldMap); Class<?> genericType();  }
@Test public void testGetReadMethod() throws Exception { Method method = javaBeanPropertyDescriptor.getReadMethod(); assertNotNull("method should not be null", method); assertEquals("incorrect method found", "getDestField", method.getName()); }
@Test public void testGetReadMethodRecoversFromReadMethodGarbageCollection() throws Exception { initializePropertyDescriptor(); Method method = javaBeanPropertyDescriptor.getReadMethod(); assertEquals("incorrect method found", "getDestField", method.getName()); }
@Test(expected = NoSuchMethodException.class) public void testGetReadMethodOnlyAttemptsRecoveryOnce() throws Exception { initializePropertyDescriptor(); nullPropertyDescriptorMethod(false); setRefreshAlreadyAttempted(); javaBeanPropertyDescriptor.getReadMethod(); }