summaryrefslogtreecommitdiff
path: root/container-compiler-plugin/src/test/java/io/trygvis/container/compiler/ProcessorTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-compiler-plugin/src/test/java/io/trygvis/container/compiler/ProcessorTest.java')
-rw-r--r--container-compiler-plugin/src/test/java/io/trygvis/container/compiler/ProcessorTest.java71
1 files changed, 52 insertions, 19 deletions
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 f8cecac..4fa9e87 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
@@ -1,6 +1,8 @@
package io.trygvis.container.compiler;
import org.apache.commons.io.IOUtils;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import javax.tools.Diagnostic;
@@ -12,18 +14,58 @@ import javax.tools.ToolProvider;
import java.io.IOException;
import java.net.URL;
import java.nio.charset.Charset;
+import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import static java.util.Arrays.asList;
+import static javax.tools.JavaCompiler.CompilationTask;
import static org.fest.assertions.Assertions.assertThat;
public class ProcessorTest {
Charset UTF_8 = Charset.forName("utf-8");
- @Test
- public void testBasic() throws Exception {
+ @BeforeMethod
+ private void before() {
+
+ }
+
+ @DataProvider(name = "data", parallel = true)
+ public static Object[][] data() {
+ return new Object[][]{new Object[]{
+ new String[]{
+ "io.trygvis.persistence.test.basic.package-info",
+ "io.trygvis.persistence.test.basic.Person",
+ "io.trygvis.persistence.test.basic.ParentEntity",
+ "io.trygvis.persistence.test.basic.ChildEntity",
+ },
+ new String[]{
+ "io.trygvis.persistence.test.basic.Sequences",
+ "io.trygvis.persistence.test.basic.BasicSqlSession",
+ "io.trygvis.persistence.test.basic.BasicSqlSessionFactory",
+ "io.trygvis.persistence.test.basic.PersonDao",
+ "io.trygvis.persistence.test.basic.PersonRow",
+ "io.trygvis.persistence.test.basic.ChildEntityDao",
+ "io.trygvis.persistence.test.basic.ChildEntityRow",
+ }
+ }, new Object[]{
+ new String[]{
+ "io.trygvis.persistence.test.inheritance.package-info",
+ "io.trygvis.persistence.test.inheritance.A",},
+ new String[]{
+ "io.trygvis.persistence.test.inheritance.Sequences",
+ "io.trygvis.persistence.test.inheritance.InheritanceSqlSession",
+ "io.trygvis.persistence.test.inheritance.InheritanceSqlSessionFactory",
+ "io.trygvis.persistence.test.inheritance.DDao",
+ "io.trygvis.persistence.test.inheritance.DRow",
+ }
+ },
+ };
+ }
+
+ @Test(dataProvider = "data")
+ public void testBasic(String[] files, String[] classes) throws Exception {
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
DiagnosticCollector<JavaFileObject> collector = new DiagnosticCollector<>();
@@ -31,14 +73,12 @@ public class ProcessorTest {
InMemoryJavaFileManager fileManager = new InMemoryJavaFileManager(standardFileManager);
- List<JavaSourceFromString> sources = asList((JavaSourceFromString[])new JavaSourceFromString[]{
- loadJava("io.trygvis.persistence.test.package-info"),
- loadJava("io.trygvis.persistence.test.Person"),
- loadJava("io.trygvis.persistence.test.ParentEntity"),
- loadJava("io.trygvis.persistence.test.ChildEntity"),
- });
+ List<JavaSourceFromString> sources = new ArrayList<>();
+ for (String file : files) {
+ sources.add(loadJava(file));
+ }
- JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, collector, null, null, sources);
+ CompilationTask task = compiler.getTask(null, fileManager, collector, null, null, sources);
task.setProcessors(asList(new MyProcessor()));
@@ -50,8 +90,8 @@ public class ProcessorTest {
if (source != null) {
error += source.toUri().getPath();
}
- error += ":" + diagnostic.getLineNumber() + ":" + diagnostic.getColumnNumber();
- System.out.println(error + ":" + diagnostic.getMessage(Locale.ENGLISH));
+ error += ":" + diagnostic.getLineNumber() + ":" + diagnostic.getColumnNumber();
+ System.out.println(error + ": " + diagnostic.getMessage(Locale.ENGLISH));
}
}
@@ -60,14 +100,7 @@ public class ProcessorTest {
System.out.println(entry.getValue());
}
- assertThat(fileManager.codes.keySet()).containsOnly(
- "io.trygvis.persistence.test.Sequences",
- "io.trygvis.persistence.test.TestSqlSession",
- "io.trygvis.persistence.test.TestSqlSessionFactory",
- "io.trygvis.persistence.test.PersonDao",
- "io.trygvis.persistence.test.PersonRow",
- "io.trygvis.persistence.test.ChildEntityDao",
- "io.trygvis.persistence.test.ChildEntityRow");
+ assertThat(fileManager.codes.keySet()).containsOnly((Object[]) classes);
assertThat(collector.getDiagnostics()).isEmpty();
assertThat(result).isTrue();