summaryrefslogtreecommitdiff
path: root/container-compiler-plugin/src/test/java/io/trygvis
diff options
context:
space:
mode:
Diffstat (limited to 'container-compiler-plugin/src/test/java/io/trygvis')
-rw-r--r--container-compiler-plugin/src/test/java/io/trygvis/persistence/EntityMirrorTest.java47
-rw-r--r--container-compiler-plugin/src/test/java/io/trygvis/persistence/test/PersonTypeHandler.java5
2 files changed, 52 insertions, 0 deletions
diff --git a/container-compiler-plugin/src/test/java/io/trygvis/persistence/EntityMirrorTest.java b/container-compiler-plugin/src/test/java/io/trygvis/persistence/EntityMirrorTest.java
new file mode 100644
index 0000000..33db82b
--- /dev/null
+++ b/container-compiler-plugin/src/test/java/io/trygvis/persistence/EntityMirrorTest.java
@@ -0,0 +1,47 @@
+package io.trygvis.persistence;
+
+import io.trygvis.container.compiler.model.TypeRef;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+
+import static io.trygvis.persistence.FieldMirror.PrimitiveFieldMirror;
+import static java.lang.String.format;
+import static org.testng.Assert.assertEquals;
+
+public class EntityMirrorTest {
+
+ static FieldMirror idLong = new PrimitiveFieldMirror(new TypeRef(Long.class), "id", "id", true, false);
+ static FieldMirror idString = new PrimitiveFieldMirror(new TypeRef(String.class), "id", "id", true, false);
+
+ @DataProvider(name = "insertIntoSql", parallel = true)
+ public static Object[][] insertIntoProvider() {
+ return new Object[][]{
+ new Object[]{
+ new FieldMirror[]{idString},
+ "INSERT INTO my_table(id) VALUES(?);",
+ "DELETE FROM my_table WHERE id=?;", format(
+ "CREATE TABLE my_table(%n" +
+ " id VARCHAR(1000) PRIMARY KEY%n" +
+ ");")},
+ new Object[]{
+ new FieldMirror[]{idLong},
+ "INSERT INTO my_table(id) VALUES(?);",
+ "DELETE FROM my_table WHERE id=?;", format(
+ "CREATE TABLE my_table(%n" +
+ " id BIGINT PRIMARY KEY%n" +
+ ");")},
+ };
+ }
+
+ @Test(dataProvider = "insertIntoSql")
+ public void testInsertIntoSql(FieldMirror[] fields, String insert, String delete, String create) throws Exception {
+ EntityMirror myTable = new EntityMirror(new GeneratorSupport(), new TypeRef("Wat"), "my_table");
+ for (FieldMirror field : fields) {
+ myTable.add(field);
+ }
+
+ assertEquals(myTable.insertIntoSql(), insert);
+ assertEquals(myTable.deleteFromSql(), delete);
+ assertEquals(myTable.createTableSql(), create);
+ }
+}
diff --git a/container-compiler-plugin/src/test/java/io/trygvis/persistence/test/PersonTypeHandler.java b/container-compiler-plugin/src/test/java/io/trygvis/persistence/test/PersonTypeHandler.java
index 68e17c3..fa803da 100644
--- a/container-compiler-plugin/src/test/java/io/trygvis/persistence/test/PersonTypeHandler.java
+++ b/container-compiler-plugin/src/test/java/io/trygvis/persistence/test/PersonTypeHandler.java
@@ -8,4 +8,9 @@ public class PersonTypeHandler implements TypeHandler {
public String resultSetSetter(int i, String o, FieldMirror field) {
return "setLong(" + i + ", o." + field.javaName + ".id)";
}
+
+ @Override
+ public String sqlType(FieldMirror field) {
+ return "LONG";
+ }
}