diff options
Diffstat (limited to 'tests/com/iciql/test/ModelsTest.java')
-rw-r--r-- | tests/com/iciql/test/ModelsTest.java | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/tests/com/iciql/test/ModelsTest.java b/tests/com/iciql/test/ModelsTest.java index 8fbf219..acaf634 100644 --- a/tests/com/iciql/test/ModelsTest.java +++ b/tests/com/iciql/test/ModelsTest.java @@ -36,11 +36,17 @@ import com.iciql.DbUpgrader; import com.iciql.DbVersion; import com.iciql.Iciql.IQVersion; import com.iciql.ValidationRemark; +import com.iciql.test.models.EnumModels; +import com.iciql.test.models.EnumModels.EnumIdModel; +import com.iciql.test.models.EnumModels.EnumOrdinalModel; +import com.iciql.test.models.EnumModels.EnumStringModel; +import com.iciql.test.models.EnumModels.Tree; import com.iciql.test.models.Product; import com.iciql.test.models.ProductAnnotationOnly; import com.iciql.test.models.ProductMixedAnnotation; import com.iciql.test.models.SupportedTypes; import com.iciql.test.models.SupportedTypes.SupportedTypes2; +import com.iciql.util.StatementLogger; /** * Test that the mapping between classes and tables is done correctly. @@ -59,7 +65,7 @@ public class ModelsTest { private void log(String text) { System.out.println(text); } - + @Before public void setUp() { db = Db.open("jdbc:h2:mem:", "sa", "sa"); @@ -107,6 +113,39 @@ public class ModelsTest { } @Test + public void testEnumQueries() { + StatementLogger.activateConsoleLogger(); + testIntEnums(new EnumIdModel(), EnumIdModel.createList()); + testIntEnums(new EnumOrdinalModel(), EnumOrdinalModel.createList()); + testStringEnums(new EnumStringModel(), EnumStringModel.createList()); + StatementLogger.deactivateConsoleLogger(); + } + + private void testIntEnums(EnumModels e, List<?> models) { + db.insertAll(models); + + EnumModels model = db.from(e).where(e.tree()).is(Tree.WALNUT).selectFirst(); + + assertEquals(400, model.id.intValue()); + assertEquals(Tree.WALNUT, model.tree()); + + List<EnumModels> list = db.from(e).where(e.tree()).atLeast(Tree.BIRCH).select(); + assertEquals(3, list.size()); + } + + private void testStringEnums(EnumModels e, List<?> models) { + db.insertAll(models); + + EnumModels model = db.from(e).where(e.tree()).is(Tree.WALNUT).selectFirst(); + + assertEquals(400, model.id.intValue()); + assertEquals(Tree.WALNUT, model.tree()); + + List<EnumModels> list = db.from(e).where(e.tree()).isNot(Tree.BIRCH).select(); + assertEquals(models.size() - 1, list.size()); + } + + @Test public void testModelGeneration() { List<SupportedTypes> original = SupportedTypes.createList(); db.insertAll(original); |