package minimal.intadd;
import helper.Utils;
import java.io.RandomAccessFile;
import java.lang.reflect.Method;
import junit.framework.TestCase;
import org.codehaus.groovy.gjit.Optimiser;
import org.codehaus.groovy.gjit.PreProcess;
public class Breakdown001Tests extends TestCase {
private static Class<?> c;
private static byte[] out;
private static byte[] bytes;
static {
try {
RandomAccessFile f = new RandomAccessFile("test/minimal/intadd/Breakdown001Subject.class","r");
bytes = new byte[(int) f.length()];
f.readFully(bytes);
PreProcess p = PreProcess.perform(bytes);
out = Optimiser.perform(p, bytes);
Utils.dumpForCompare(bytes, out);
c = Utils.loadClass("minimal.intadd.Breakdown001Subject", out);
RandomAccessFile f2 = new RandomAccessFile("test/minimal/intadd/Breakdown001Subject$_add_006_closure1.class","r");
byte[] cb = new byte[(int) f2.length()];
f2.readFully(cb);
Utils.loadClass("minimal.intadd.Breakdown001Subject$_add_006_closure1", cb);
} catch(Throwable e) {
}
}
public void test_const_add_then_loop() throws Throwable {
Method m = c.getMethod("add_006");
Object o = c.newInstance();
Object result = m.invoke(o);
assertEquals(10, result);
}
}