package javassist;
import junit.framework.*;
import java.lang.reflect.Method;
public class JvstTestRoot extends TestCase {
// the directory where all compiled class files are found.
public static final String PATH = "../target/test-classes/";
// the directory where javassist.jar is found.
public static final String JAR_PATH = "../";
ClassPool sloader, dloader;
Loader cloader;
public JvstTestRoot(String name) {
super(name);
}
protected void print(String msg) {
System.out.println(msg);
}
protected void print(Exception e) {
e.printStackTrace();
}
protected void setUp() throws Exception {
sloader = ClassPool.getDefault();
dloader = new ClassPool(null);
dloader.appendSystemPath();
dloader.insertClassPath(".");
cloader = new Loader(dloader);
}
protected Object make(String name) throws Exception {
return cloader.loadClass(name).getConstructor().newInstance();
}
protected int invoke(Object target, String method) throws Exception {
Method m = target.getClass().getMethod(method, new Class[0]);
Object res = m.invoke(target, new Object[0]);
return ((Integer)res).intValue();
}
protected int invoke(Object target, String method, int arg)
throws Exception {
Method m =
target.getClass().getMethod(method, new Class[] { int.class });
Object res = m.invoke(target, new Object[] { Integer.valueOf(arg)});
return ((Integer) res).intValue();
}
}