From eb43a616e2f692ccc6cef98343b721f0e318969e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Sun, 13 Jan 2019 19:22:48 +0100 Subject: [PATCH] new file: ../../../java/bytecode/VectorSuperTest.java new file: VectorSuper.jav --- src/test/java/bytecode/VectorSuperTest.java | 45 +++++++++++++++++++ .../bytecode/javFiles/VectorSuper.jav | 11 +++++ 2 files changed, 56 insertions(+) create mode 100644 src/test/java/bytecode/VectorSuperTest.java create mode 100644 src/test/resources/bytecode/javFiles/VectorSuper.jav diff --git a/src/test/java/bytecode/VectorSuperTest.java b/src/test/java/bytecode/VectorSuperTest.java new file mode 100644 index 000000000..7699b684a --- /dev/null +++ b/src/test/java/bytecode/VectorSuperTest.java @@ -0,0 +1,45 @@ +package bytecode; + +import static org.junit.Assert.*; + +import java.io.File; +import java.lang.reflect.Method; +import java.net.URL; +import java.net.URLClassLoader; +import java.util.Vector; + +import org.junit.BeforeClass; +import org.junit.Test; + +import de.dhbwstuttgart.core.JavaTXCompiler; + +public class VectorSuperTest { + + private static String path; + private static File fileToTest; + private static JavaTXCompiler compiler; + private static ClassLoader loader; + private static Class classToTest; + private static String pathToClassFile; + private static Object instanceOfClass; + + @BeforeClass + public static void setUpBeforeClass() throws Exception { + path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/VectorSuper.jav"; + fileToTest = new File(path); + compiler = new JavaTXCompiler(fileToTest); + pathToClassFile = System.getProperty("user.dir")+"/src/test/resources/testBytecode/generatedBC/"; + compiler.generateBytecode(pathToClassFile); + loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); + classToTest = loader.loadClass("VectorSuper"); + instanceOfClass = classToTest.getDeclaredConstructor().newInstance(); + } + + @Test + public void test1() throws Exception { + Method m = classToTest.getDeclaredMethod("m", Vector.class); + //Object result = m.invoke(instanceOfClass, 1); + + //assertEquals(1,result); + } +} diff --git a/src/test/resources/bytecode/javFiles/VectorSuper.jav b/src/test/resources/bytecode/javFiles/VectorSuper.jav new file mode 100644 index 000000000..f13497831 --- /dev/null +++ b/src/test/resources/bytecode/javFiles/VectorSuper.jav @@ -0,0 +1,11 @@ +import java.util.Vector; +import java.lang.Integer; + +public class VectorSuper { + + m(x){ + Integer y; + x.addElement(y); + //return x; + } +} \ No newline at end of file