34 lines
879 B
Java
34 lines
879 B
Java
package de.nclazz.commons.reflection;
|
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import java.lang.reflect.Field;
|
|
import java.util.Set;
|
|
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
|
|
class ReflectionUtilsTest {
|
|
|
|
static class BaseClass {
|
|
private int baseFieldInt;
|
|
private float baseFieldFloat;
|
|
private String baseField;
|
|
}
|
|
|
|
static class InheritedClass extends BaseClass {
|
|
private String inheritField;
|
|
}
|
|
|
|
@Test
|
|
void findDeclaredFieldsRecursively() {
|
|
Set<Field> fields = ReflectionUtils.getDeclaredFieldRecursively(InheritedClass.class);
|
|
assertEquals(4, fields.size());
|
|
}
|
|
|
|
@Test
|
|
void testDeclaredFieldsPredicate() {
|
|
Set<Field> fields = ReflectionUtils.getDeclaredFieldRecursively(InheritedClass.class, field -> field.getType() == String.class);
|
|
assertEquals(2, fields.size());
|
|
}
|
|
|
|
} |