/*
* Created on Mar 30, 2004
*/
package cyrille.lang.reflect;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import junit.framework.TestCase;
/**
* @author <a href="mailto:cleclerc@pobox.com">Cyrille Le Clerc</a>
*/
public class TestReflectBeanTest extends TestCase {
/**
* Constructor for TestReflectBeanTest.
*
* @param name
*/
public TestReflectBeanTest(String name) {
super(name);
}
public static void main(String[] args) {
junit.textui.TestRunner.run(TestReflectBeanTest.class);
}
public void test() throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
String expected = "test";
TestReflectBean bean = new TestReflectBean(expected);
{
Field[] fields = TestReflectBean.class.getFields();
for (Field field : fields) {
System.out.println("field [" + field.getName() + ", type=" + field.getType() + "]");
}
}
{
Method[] methods = TestReflectBean.class.getDeclaredMethods();
for (Method method : methods) {
System.out.println(method.toString());
}
}
{
Field[] declaredFields = TestReflectBean.class.getDeclaredFields();
for (Field field : declaredFields) {
System.out.println("declaredField [" + field.getName() + ", modifiers=" + field.getModifiers() + ", accessible="
+ field.isAccessible() + ", type=" + field.getType() + "]");
field.setAccessible(true);
}
}
Field field = TestReflectBean.class.getDeclaredField("fieldHiddenByAGetter");
field.setAccessible(true);
Object actual = field.get(bean);
assertEquals(expected, actual);
}
}