blob: f26370abc9395b7b7b5ffe89889706f49aa797d5 [file] [log] [blame]
package org.eclipse.persistence.json.bind.internal;
import org.junit.Test;
import java.lang.reflect.Field;
import java.lang.reflect.Type;
import java.util.List;
import java.util.Map;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
/**
* @author Roman Grigoriadi
*/
public class ReflectionUtilsTest {
public static class Types<T> {
public List<String> resolvedParameterizedField;
public List<Map<Integer, String>> resolvedNestedParameterizedField;
public String resolvedStr;
public List<T> unresovledParameterizedField;
public List<Map<Integer, T>> unresovledNestedParameterizedField;
public T unresolvedField;
public List<?> unresolvedWildcardField;
}
@Test
public void testIsTypeResolved() {
Types<String> types = new Types<String>();
assertTrue(ReflectionUtils.isResolvedType(getFieldType("resolvedParameterizedField")));
assertTrue(ReflectionUtils.isResolvedType(getFieldType("resolvedNestedParameterizedField")));
assertTrue(ReflectionUtils.isResolvedType(getFieldType("resolvedStr")));
assertFalse(ReflectionUtils.isResolvedType(getFieldType("unresovledParameterizedField")));
assertFalse(ReflectionUtils.isResolvedType(getFieldType("unresovledNestedParameterizedField")));
assertFalse(ReflectionUtils.isResolvedType(getFieldType("unresolvedField")));
assertFalse(ReflectionUtils.isResolvedType(getFieldType("unresolvedWildcardField")));
}
private Type getFieldType(String fieldName) {
try {
Field field = Types.class.getField(fieldName);
return field.getGenericType();
} catch (NoSuchFieldException e) {
throw new RuntimeException(e);
}
}
}