/** * @see Reflect#Reflect(Class) */ @Test(expected = NullPointerException.class) public void Reflect_shouldThrowExceptionWhenNullIsPassed() { new Reflect(null); }
/** * @see Reflect#isSuperClass(Type) */ @Test public void isSuperClass_shouldReturnFalseForAGenericWhoseBoundIsNotASubclass() { Reflect reflect = new Reflect(Number.class); Field field = ReflectionUtils.findField(Visit.class, "attributes"); ParameterizedType setOfAttr = (ParameterizedType) field.getGenericType(); Type genericType = setOfAttr.getActualTypeArguments()[0]; Assert.assertFalse(reflect.isSuperClass(genericType)); }
/** * @see Reflect#isSuperClass(Type) */ @Test public void isSuperClass_shouldReturnTrueForAGenericWhoseBoundIsASubclass() { Reflect reflect = new Reflect(OpenmrsObject.class); Field field = ReflectionUtils.findField(Visit.class, "attributes"); ParameterizedType setOfAttr = (ParameterizedType) field.getGenericType(); Type genericType = setOfAttr.getActualTypeArguments()[0]; Assert.assertTrue(reflect.isSuperClass(genericType)); }
Reflect reflect = new Reflect(OpenmrsObject.class); List<Field> allInheritedFields = reflect.getInheritedFields(openmrsObjectClass);
/** * @see Reflect#isCollectionField(Field) */ @Test public void isCollectionField_shouldReturnTrueIfGivenFieldIsCollectionAndItsElementTypeIsGivenParameterized() { Reflect reflect = new Reflect(OpenmrsObject.class); List<Field> allFields = Reflect.getAllFields(OpenmrsObjectImp.class); Assert.assertEquals("subClassField", allFields.get(1).getName()); Assert.assertTrue(reflect.isCollectionField(allFields.get(1))); }
/** * @see Reflect#isSuperClass(Object) */ @Test public void isSuperClass_shouldReturnFalseIfGivenObjectIsNotAccessibleFromGivenParameterizedClass() { Reflect reflect = new Reflect(OpenmrsObject.class); Assert.assertFalse(reflect.isSuperClass(NormalClass.class)); }
/** * @see Reflect#isSuperClass(Class) */ @Test public void isSuperClass_shouldReturnTrueIfGivenSubClassIsAccessibleFromGivenParameterizedClass() { Reflect reflect = new Reflect(OpenmrsObject.class); Assert.assertTrue(reflect.isSuperClass(OpenmrsObjectImp.class)); }
/** * @see Reflect#isSuperClass(Class) */ @Test public void isSuperClass_shouldReturnFalseIfGivenSubClassIsNotAccessibleFromGivenParameterizedClass() { Reflect reflect = new Reflect(OpenmrsObject.class); Assert.assertFalse(reflect.isSuperClass(new NormalClass())); }
Reflect reflect = new Reflect(OpenmrsObject.class);
/** * @see Reflect#isSuperClass(Object) */ @Test public void isSuperClass_shouldReturnTrueIfGivenObjectIsAccessibleFromGivenParameterizedClass() { Reflect reflect = new Reflect(OpenmrsObject.class); Assert.assertTrue(reflect.isSuperClass(new OpenmrsObjectImp())); }
/** * @see Reflect#isCollection(Class<*>) */ @Test public void isCollection_shouldReturnFalseIfGivenFieldClassIsNotACollectionClass() { Reflect reflect = new Reflect(OpenmrsObject.class); List<Field> allFields = Reflect.getAllFields(OpenmrsObjectImp.class); Field nonCollectionField = findFieldByName(allFields, "nonCollectionField"); Assert.assertFalse(reflect.isCollectionField(nonCollectionField)); }
/** * @see Reflect#isCollectionField(Field) */ @Test public void isCollectionField_shouldReturnFalseIfGivenFieldIsCollectionAndElementTypeIsOtherThanGiven() { Reflect reflect = new Reflect(OpenmrsObject.class); List<Field> allFields = Reflect.getAllFields(OpenmrsObjectImp.class); Field genericCollectionField = findFieldByName(allFields, "genericCollectionField"); Assert.assertFalse(reflect.isCollectionField(genericCollectionField)); }
/** * @see Reflect#hasField(Field) */ @Test public void xhasField_shouldReturnTrueIfGivenFieldIsDeclaredInParameterizedClassOrSubClass() { Reflect reflect = new Reflect(OpenmrsObject.class); List<Field> allFields = Reflect.getAllFields(OpenmrsObjectImp.class); Field genericCollectionField = findFieldByName(allFields, "genericCollectionField"); Assert.assertTrue(reflect.hasField(genericCollectionField)); }
/** * @see Reflect#hasField(Field) */ @Test public void xhasField_shouldReturnFalseIfGivenFieldIsNotDeclaredInParameterizedClassOrItsSubClass() { Reflect reflect = new Reflect(OpenmrsObject.class); List<Field> allFields = Reflect.getAllFields(OpenmrsObjectImp.class); Field normalClassField = findFieldByName(allFields, "normalClassField"); Assert.assertFalse(reflect.hasField(normalClassField)); }
/** * @see Reflect#getInheritedFields(Class) */ @Test public void getInheritedFields_shouldReturnOnlyTheSubClassFieldsOfGivenParameterizedClass() { Reflect reflect = new Reflect(OpenmrsObject.class); List<Field> fields = reflect.getInheritedFields(OpenmrsObjectImp.class); List<Field> allFields = Reflect.getAllFields(OpenmrsObjectImp.class); findFieldByName(fields, "subClassField"); findFieldByName(fields, "nonCollectionField"); findFieldByName(fields, "genericCollectionField"); Field normalClassField = findFieldByName(allFields, "normalClassField"); Assert.assertFalse(fields.contains(normalClassField)); }