aboutsummaryrefslogtreecommitdiffstats
path: root/tests/com/iciql
diff options
context:
space:
mode:
authorJames Moger <james.moger@gmail.com>2011-08-08 09:32:30 -0400
committerJames Moger <james.moger@gmail.com>2011-08-08 09:32:30 -0400
commit083e5031c24efd8cdb08140b9f982604a431ec26 (patch)
tree07b3d1b16eee3122f7c8792839a4ce493a2615ad /tests/com/iciql
parent1ee319a7e4bea883da99ab7c2068a740e2cdf985 (diff)
downloadiciql-083e5031c24efd8cdb08140b9f982604a431ec26.tar.gz
iciql-083e5031c24efd8cdb08140b9f982604a431ec26.zip
Fully support H2 UUID type. Cleanup imports for generated models.
Diffstat (limited to 'tests/com/iciql')
-rw-r--r--tests/com/iciql/test/IciqlSuite.java4
-rw-r--r--tests/com/iciql/test/ModelsTest.java2
-rw-r--r--tests/com/iciql/test/UUIDTest.java108
3 files changed, 111 insertions, 3 deletions
diff --git a/tests/com/iciql/test/IciqlSuite.java b/tests/com/iciql/test/IciqlSuite.java
index 20dbea2..056c996 100644
--- a/tests/com/iciql/test/IciqlSuite.java
+++ b/tests/com/iciql/test/IciqlSuite.java
@@ -26,8 +26,8 @@ import org.junit.runners.Suite.SuiteClasses;
*/
@RunWith(Suite.class)
@SuiteClasses({ AliasMapTest.class, AnnotationsTest.class, BooleanModelTest.class, ClobTest.class,
- ConcurrencyTest.class, ModelsTest.class, SamplesTest.class, UpdateTest.class, RuntimeQueryTest.class,
- StatementLoggerTest.class })
+ ConcurrencyTest.class, ModelsTest.class, PrimitivesTest.class, RuntimeQueryTest.class,
+ SamplesTest.class, StatementLoggerTest.class, UpdateTest.class, UUIDTest.class })
public class IciqlSuite {
public static void assertStartsWith(String a, String b) {
diff --git a/tests/com/iciql/test/ModelsTest.java b/tests/com/iciql/test/ModelsTest.java
index 0caae4b..75c2073 100644
--- a/tests/com/iciql/test/ModelsTest.java
+++ b/tests/com/iciql/test/ModelsTest.java
@@ -163,7 +163,7 @@ public class ModelsTest {
true);
assertEquals(1, models.size());
// a poor test, but a start
- assertEquals(1893, models.get(0).length());
+ assertEquals(1697, models.get(0).length());
}
@Test
diff --git a/tests/com/iciql/test/UUIDTest.java b/tests/com/iciql/test/UUIDTest.java
new file mode 100644
index 0000000..b35d623
--- /dev/null
+++ b/tests/com/iciql/test/UUIDTest.java
@@ -0,0 +1,108 @@
+/*
+ * Copyright 2011 James Moger.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.iciql.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import com.iciql.Db;
+import com.iciql.Iciql.IQColumn;
+import com.iciql.Iciql.IQTable;
+
+/**
+ * Tests if UUID type.
+ */
+public class UUIDTest {
+
+ Db db;
+
+ @Before
+ public void setup() {
+ db = Db.open("jdbc:h2:mem:", "sa", "sa");
+ }
+
+ @After
+ public void tearDown() {
+ db.close();
+ }
+
+ @Test
+ public void testUUIDs() throws Exception {
+ List<UUIDRecord> originals = UUIDRecord.getList();
+ db.insertAll(originals);
+ UUIDRecord u = new UUIDRecord();
+ List<UUIDRecord> retrieved = db.from(u).orderBy(u.id).select();
+ assertEquals(originals.size(), retrieved.size());
+ for (int i = 0; i < originals.size(); i++) {
+ UUIDRecord a = originals.get(i);
+ UUIDRecord b = retrieved.get(i);
+ assertTrue(a.equivalentTo(b));
+ }
+
+ UUIDRecord second = db.from(u).where(u.uuid).is(originals.get(1).uuid).selectFirst();
+ assertTrue(originals.get(1).equivalentTo(second));
+ }
+
+ /**
+ * A simple class used in this test.
+ */
+ @IQTable(name = "UUID_TEST")
+ public static class UUIDRecord {
+
+ @IQColumn(primaryKey = true)
+ public Integer id;
+
+ @IQColumn()
+ public UUID uuid;
+
+ public UUIDRecord() {
+ // public constructor
+ }
+
+ private UUIDRecord(int id) {
+ this.id = id;
+ this.uuid = UUID.randomUUID();
+ }
+
+ public boolean equivalentTo(UUIDRecord b) {
+ boolean same = true;
+ same &= id == b.id;
+ same &= uuid.equals(b.uuid);
+ return same;
+ }
+
+ public String toString() {
+ return id + ": " + uuid;
+ }
+
+ public static List<UUIDRecord> getList() {
+ List<UUIDRecord> list = new ArrayList<UUIDRecord>();
+ for (int i = 0; i < 10; i++) {
+ list.add(new UUIDRecord(i + 1));
+ }
+ return list;
+ }
+ }
+}