From e1cf8889628d2d31cf7067b8c002f229fc22007d Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sat, 3 Aug 2013 18:00:10 +0200 Subject: wip --- .../io/trygvis/persistence/EntityMirrorTest.java | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 container-compiler-plugin/src/test/java/io/trygvis/persistence/EntityMirrorTest.java (limited to 'container-compiler-plugin/src/test/java/io/trygvis/persistence/EntityMirrorTest.java') 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); + } +} -- cgit v1.2.3