From b5d6f23d8ac3d4bedb139fdaecc2e9dc621f385a Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sat, 3 Aug 2013 15:06:46 +0200 Subject: wip --- .../trygvis/container/compiler/ProcessorTest.java | 32 ++++++++++++++++------ 1 file changed, 24 insertions(+), 8 deletions(-) (limited to 'container-compiler-plugin/src/test/java/io/trygvis/container/compiler/ProcessorTest.java') diff --git a/container-compiler-plugin/src/test/java/io/trygvis/container/compiler/ProcessorTest.java b/container-compiler-plugin/src/test/java/io/trygvis/container/compiler/ProcessorTest.java index 2205d52..bac8209 100644 --- a/container-compiler-plugin/src/test/java/io/trygvis/container/compiler/ProcessorTest.java +++ b/container-compiler-plugin/src/test/java/io/trygvis/container/compiler/ProcessorTest.java @@ -9,11 +9,13 @@ import javax.tools.JavaCompiler; import javax.tools.JavaFileObject; import javax.tools.StandardJavaFileManager; import javax.tools.ToolProvider; +import java.io.IOException; +import java.net.URL; import java.nio.charset.Charset; -import java.util.Arrays; import java.util.Locale; +import java.util.Map; -import static java.util.Collections.singletonList; +import static java.util.Arrays.asList; import static org.fest.assertions.Assertions.assertThat; public class ProcessorTest { @@ -28,20 +30,25 @@ public class ProcessorTest { InMemoryJavaFileManager fileManager = new InMemoryJavaFileManager(standardFileManager); - JavaSourceFromString myEntity = new JavaSourceFromString("Person", IOUtils.toString(getClass().getResource("/Person.java"), UTF_8)); + JavaSourceFromString person = loadCode("io.trygvis.persistence.test.Person"); + JavaSourceFromString packageInfo = loadCode("io.trygvis.persistence.test.package-info"); JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, collector, null, - null, singletonList(myEntity)); + null, asList(person, packageInfo)); - task.setProcessors(Arrays.asList(new MyProcessor())); + task.setProcessors(asList(new MyProcessor())); Boolean result = task.call(); - assertThat(fileManager.codes.keySet()).containsOnly("Person_Sql"); - System.out.println(fileManager.codes.get("Person_Sql")); + assertThat(fileManager.codes.keySet()).containsOnly( + "io.trygvis.persistence.test.Daos", + "io.trygvis.persistence.test.PersonDao"); + for (Map.Entry entry : fileManager.codes.entrySet()) { + System.out.println("=== " + entry.getKey()); + System.out.println(entry.getValue()); + } for (Diagnostic diagnostic : collector.getDiagnostics()) { -// System.out.println("diagnostic = " + diagnostic); System.out.println("diagnostic.source = ->" + diagnostic.getSource().getName() + "<-"); System.out.println("diagnostic.message = " + diagnostic.getMessage(Locale.ENGLISH)); } @@ -51,4 +58,13 @@ public class ProcessorTest { fileManager.close(); } + + private JavaSourceFromString loadCode(String className) throws IOException { + String path = "/" + className.replace('.', '/') + ".java"; + URL resource = getClass().getResource(path); + if(resource == null) { + throw new RuntimeException("Could not load code for: " + path); + } + return new JavaSourceFromString(className, IOUtils.toString(resource, UTF_8)); + } } -- cgit v1.2.3