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.java47
1 files changed, 47 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);
+ }
+}