GAttributeInfo nameAttribute = beanInfo.getAttribute("name");
assertNotNull(nameAttribute);
assertEquals(String.class.getName(), nameAttribute.getType());
GReferenceInfo nameReference = beanInfo.getReference("Name");
assertNotNull(nameReference);
assertEquals(Runnable.class.getName(), nameReference.getProxyType());
GReferenceInfo collectionReference = beanInfo.getReference("Collection");
assertNotNull(collectionReference);
assertEquals(Collection.class.getName(), collectionReference.getProxyType());
assertEquals(Runnable.class.getName(), collectionReference.getReferenceType());
GAttributeInfo setterAttribute = beanInfo.getAttribute("setterAttribute");
assertNotNull(setterAttribute);
assertEquals(String.class.getName(), setterAttribute.getType());
assertEquals(true, setterAttribute.isPersistent());
assertEquals(true, setterAttribute.isManageable());
assertEquals(EncryptionSetting.ENCRYPTED, setterAttribute.getEncryptedSetting());
GAttributeInfo password = beanInfo.getAttribute("password");
assertNotNull(password);
assertEquals(String.class.getName(), password.getType());
assertEquals(true, password.isPersistent());
assertEquals(true, password.isManageable());
assertEquals(EncryptionSetting.ENCRYPTED, password.getEncryptedSetting());
GAttributeInfo setterNotManageableAttribute = beanInfo.getAttribute("setterNotManageableAttribute");
assertNotNull(setterNotManageableAttribute);
assertEquals(String.class.getName(), setterNotManageableAttribute.getType());
assertEquals(true, setterNotManageableAttribute.isPersistent());
assertEquals(false, setterNotManageableAttribute.isManageable());
assertEquals(EncryptionSetting.PLAINTEXT, setterNotManageableAttribute.getEncryptedSetting());
GReferenceInfo setterReference = beanInfo.getReference("SetterReference");
assertNotNull(setterReference);
assertEquals(Runnable.class.getName(), setterReference.getProxyType());
GReferenceInfo setterCollectionReference = beanInfo.getReference("SetterCollectionReference");
assertNotNull(setterCollectionReference);
assertEquals(Collection.class.getName(), setterCollectionReference.getProxyType());
assertEquals(Runnable.class.getName(), setterCollectionReference.getReferenceType());
}