java-commons/src/test/java/de/nclazz/commons/reflection/ReflectionUtilsTest.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());
}
}