summaryrefslogtreecommitdiff
path: root/container-compiler-plugin/src/test/java/io/trygvis/persistence/EntityMirrorTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-compiler-plugin/src/test/java/io/trygvis/persistence/EntityMirrorTest.java')
-rw-r--r--container-compiler-plugin/src/test/java/io/trygvis/persistence/EntityMirrorTest.java31
1 files changed, 27 insertions, 4 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
index 33db82b..9d90eef 100644
--- a/container-compiler-plugin/src/test/java/io/trygvis/persistence/EntityMirrorTest.java
+++ b/container-compiler-plugin/src/test/java/io/trygvis/persistence/EntityMirrorTest.java
@@ -1,5 +1,6 @@
package io.trygvis.persistence;
+import io.trygvis.container.compiler.SqlUnitModel;
import io.trygvis.container.compiler.model.TypeRef;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
@@ -10,8 +11,11 @@ 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);
+ static TypeRef entityType = new TypeRef("Wat");
+ static FieldMirror idLong = new PrimitiveFieldMirror(new TypeRef(Long.class), "id", "id", true, false, true);
+ static FieldMirror idString = new PrimitiveFieldMirror(new TypeRef(String.class), "id", "id", true, false, true);
+ static FieldMirror name = new PrimitiveFieldMirror(new TypeRef(String.class), "name", "name", false, false, false);
+ static FieldMirror ref = new FieldMirror.ReferenceFieldMirror(entityType, "parent", "parent", false, false);
@DataProvider(name = "insertIntoSql", parallel = true)
public static Object[][] insertIntoProvider() {
@@ -30,18 +34,37 @@ public class EntityMirrorTest {
"CREATE TABLE my_table(%n" +
" id BIGINT PRIMARY KEY%n" +
");")},
+ new Object[]{
+ new FieldMirror[]{idLong, name},
+ "INSERT INTO my_table(id, name) VALUES(?, ?);",
+ "DELETE FROM my_table WHERE id=?;", format(
+ "CREATE TABLE my_table(%n" +
+ " id BIGINT PRIMARY KEY,%n" +
+ " name VARCHAR(1000)%n" +
+ ");")},
+ new Object[]{
+ new FieldMirror[]{idLong, ref},
+ "INSERT INTO my_table(id, parent) VALUES(?, ?);",
+ "DELETE FROM my_table WHERE id=?;", format(
+ "CREATE TABLE my_table(%n" +
+ " id BIGINT PRIMARY KEY,%n" +
+ " parent BIGINT REFERENCES my_table(id)%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");
+ EntityMirror myTable = new EntityMirror(new GeneratorConfiguration(), entityType, "my_table");
for (FieldMirror field : fields) {
myTable.add(field);
}
+ SqlUnitModel unit = new SqlUnitModel();
+ unit.add(myTable);
+
assertEquals(myTable.insertIntoSql(), insert);
assertEquals(myTable.deleteFromSql(), delete);
- assertEquals(myTable.createTableSql(), create);
+ assertEquals(myTable.createTableSql(unit), create);
}
}