From 75eaee6644f35ce7151a229ca3c3b897214713bb Mon Sep 17 00:00:00 2001
From: JanUlrich <andi@michlaustderaffe.de>
Date: Sun, 22 Dec 2019 17:59:40 +0100
Subject: [PATCH] Abgabeprotokoll

---
 abgabeprotokoll.md                     | 15 +++++++++++++++
 src/test/java/packages/ImportTest.java | 20 +++++++++++++++-----
 2 files changed, 30 insertions(+), 5 deletions(-)
 create mode 100644 abgabeprotokoll.md

diff --git a/abgabeprotokoll.md b/abgabeprotokoll.md
new file mode 100644
index 00000000..6ec54961
--- /dev/null
+++ b/abgabeprotokoll.md
@@ -0,0 +1,15 @@
+# JavaTXCompiler Klasse
+* Konstruktor hat einen weiteren Parameter
+* contextPath
+	* Arrays aus URLs (file-urls)
+* Parameter ist Optional
+* wird er gesetzt, so werden Classfiles aus den übergebenen Pfaden geladen
+	* die übergebenen Pfade müssen dabei die Source-Roots sein
+	* Beispiel:
+	`import de.test.Klasse;`
+	* `Klasse.class` liegt in `output/de/test/Klasse.class`
+	* dann muss contextpath auf `output` gesetzt werden
+* wird der Parameter nicht übergeben, so wird der Sourceroot auf das Verzeichnis gesetzt, in dem der Compiler ausgeführt wird
+* dies ist das Verhalten vom javac Compiler
+
+
diff --git a/src/test/java/packages/ImportTest.java b/src/test/java/packages/ImportTest.java
index 6487c9ab..575da032 100644
--- a/src/test/java/packages/ImportTest.java
+++ b/src/test/java/packages/ImportTest.java
@@ -24,11 +24,6 @@ public class ImportTest extends TestCase {
         compiler.generateBytecode(rootDirectory + "output/");
         File f = new File(rootDirectory + "output/de/test/ToImport.class");
         assertTrue(f.exists());
-        compiler = new JavaTXCompiler(new File(rootDirectory+"ToImport.jav"));
-        compiler.typeInference();
-        compiler.generateBytecode(null);
-        f = new File(rootDirectory + "output/de/test/ToImport.class");
-        assertTrue(f.exists());
     }
 
     @Test
@@ -45,4 +40,19 @@ public class ImportTest extends TestCase {
         f = new File(rootDirectory + "output/de/test/ImportTest.class");
         assertTrue(f.exists());
     }
+
+    @Test
+    public void testSetPackageNameInBytecodeAndStandardOutputFolder() throws IOException, ClassNotFoundException {
+        JavaTXCompiler compiler = new JavaTXCompiler(
+                Lists.newArrayList(new File(rootDirectory+"ImportTest.jav")),
+                Lists.newArrayList(new URL("file://"+rootDirectory+"output/")));
+        compiler.typeInference();
+        File f = new File(rootDirectory + "ImportTest.class");
+        if(f.exists() && !f.isDirectory()) {
+            f.delete();
+        }
+        compiler.generateBytecode(null);
+        f = new File(rootDirectory + "ImportTest.class");
+        assertTrue(f.exists());
+    }
 }