From 736375860362b818f9cfe177635f055b42d8c576 Mon Sep 17 00:00:00 2001 From: Pluemicke Martin Date: Tue, 12 Apr 2016 11:37:00 +0200 Subject: [PATCH] new file: OL.jav new file: OLTest.java modified: Overloading.jav main Methode angefuegt --- test/bytecode/types/OL.jav | 16 ++++++ test/bytecode/types/OLTest.java | 75 +++++++++++++++++++++++++++++ test/bytecode/types/Overloading.jav | 7 +-- 3 files changed, 92 insertions(+), 6 deletions(-) create mode 100644 test/bytecode/types/OL.jav create mode 100644 test/bytecode/types/OLTest.java diff --git a/test/bytecode/types/OL.jav b/test/bytecode/types/OL.jav new file mode 100644 index 00000000..66e95aeb --- /dev/null +++ b/test/bytecode/types/OL.jav @@ -0,0 +1,16 @@ +class OL { + + Integer m(Integer x) { return x + x; } + + Boolean m(Boolean x) {return x || x; } +} + +class Main { + + main(x) { + ol; + ol = new OL(); + return ol.m(x); + } + +} diff --git a/test/bytecode/types/OLTest.java b/test/bytecode/types/OLTest.java new file mode 100644 index 00000000..4b369283 --- /dev/null +++ b/test/bytecode/types/OLTest.java @@ -0,0 +1,75 @@ +package bytecode.types; + +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.Test; + +import bytecode.SourceFileBytecodeTest; + +public class OLTest extends SourceFileBytecodeTest{ + @Override + protected void init() { + testName = "OL"; + rootDirectory = System.getProperty("user.dir")+"/test/bytecode/types/"; + } + + + @Test + public void testInteger() { + try{ + ClassLoader classLoader = getClassLoader(); + + Class cls = classLoader.loadClass(testName); + + Object obj = cls.newInstance(); + + File file = new File(rootDirectory); + URL url = file.toURL(); + URL[] urls = new URL[]{url}; + + Class stringVector = classLoader.loadClass("Integer"); + + Class[] params = new Class[1]; + params[0] = stringVector; + + Method method = cls.getDeclaredMethod("m", params); + method.invoke(obj, stringVector.newInstance()); + assertTrue(true); + }catch(Exception e){ + throw new RuntimeException(e); + } + } + + @Test + public void testBoolen() { + try{ + ClassLoader classLoader = getClassLoader(); + + Class cls = classLoader.loadClass(testName); + + Object obj = cls.newInstance(); + + File file = new File(rootDirectory); + URL url = file.toURL(); + URL[] urls = new URL[]{url}; + + Class stringVector = classLoader.loadClass("Boolean"); + + Class[] params = new Class[1]; + params[0] = stringVector; + + Method method = cls.getDeclaredMethod("m", params); + method.invoke(obj, stringVector.newInstance()); + assertTrue(true); + }catch(Exception e){ + throw new RuntimeException(e); + } + } + +} diff --git a/test/bytecode/types/Overloading.jav b/test/bytecode/types/Overloading.jav index 57206bdd..0c0fdb2b 100644 --- a/test/bytecode/types/Overloading.jav +++ b/test/bytecode/types/Overloading.jav @@ -11,12 +11,7 @@ class Overloading{ } main(String[] args) { - ol; - ol = new Overloading(); - v; - v = new Vector (); - ol.method(v); - + new Overloading().method(new Vector ()); } } \ No newline at end of file