Changeset: 9e9fa3c6d484 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9e9fa3c6d484
Modified Files:
        java/embedded/src/test/java/org/monetdb/embedded/test/EmbeddedTest.java
Branch: embedded-java
Log Message:

Add unit tests


diffs (113 lines):

diff --git 
a/java/embedded/src/test/java/org/monetdb/embedded/test/EmbeddedTest.java 
b/java/embedded/src/test/java/org/monetdb/embedded/test/EmbeddedTest.java
--- a/java/embedded/src/test/java/org/monetdb/embedded/test/EmbeddedTest.java
+++ b/java/embedded/src/test/java/org/monetdb/embedded/test/EmbeddedTest.java
@@ -21,12 +21,14 @@ import org.junit.BeforeClass;
 import org.junit.Test;
 import org.monetdb.embedded.MonetDBEmbedded;
 import org.monetdb.embedded.result.EmbeddedQueryResult;
+import org.monetdb.embedded.result.column.Column;
 
 public class EmbeddedTest {
        static File datbaseDirectory;
        static MonetDBEmbedded db;
 
-       static Integer[] testValues = {Integer.valueOf(10), 
Integer.valueOf(20), Integer.valueOf(30), null};
+       static Integer[][] testValues = {{Integer.valueOf(0), 
Integer.valueOf(1), Integer.valueOf(2), Integer.valueOf(3)}, 
+                       {Integer.valueOf(10), Integer.valueOf(20), 
Integer.valueOf(30), null}};
 
        static Object[] numbericTypeTestValues = new Object[]{
                        Byte.valueOf((byte)12),
@@ -55,7 +57,8 @@ public class EmbeddedTest {
                db.start();
 
                db.query("CREATE TABLE test (id integer, val integer);");
-               db.query("INSERT INTO test VALUES (0, " + testValues[0] + "), 
(1, " + testValues[1] + "), (2, " + testValues[2] + "), (3, " + testValues[3] + 
");");
+               db.query("INSERT INTO test VALUES (" + testValues[0][0] + ", " 
+ testValues[1][0] + "), (" + testValues[0][1] + ", " + testValues[1][1] + 
+                               "), (" + testValues[0][2] + ", " + 
testValues[1][2] + "), (" + testValues[0][3] + ", " + testValues[1][3] + ");");
 
                db.query("CREATE TABLE numeric_types_test (fbyte tinyint, 
fshort smallint, fint integer, flong bigint, freal real, fdouble double);");
                db.query("INSERT INTO numeric_types_test VALUES (" + 
numbericTypeTestValues[0] + ", " + numbericTypeTestValues[1] + ", " + 
numbericTypeTestValues[2] + ", " 
@@ -73,13 +76,30 @@ public class EmbeddedTest {
        }
 
        @Test
-       public void iteratorTest() throws IOException, SQLException {
+       public void rowIteratorTest() throws IOException, SQLException {
                try (EmbeddedQueryResult result = db.query("SELECT * FROM 
test;")) {
 
                        int i = 0;
                        Iterator<?> iterator = result.getColumn(1).iterator();
                        while (iterator.hasNext()) {
-                               assertEquals(testValues[i++], iterator.next());
+                               assertEquals(testValues[1][i++], 
iterator.next());
+                       }
+               }
+       }
+
+       @Test
+       public void columnIteratorTest() throws IOException, SQLException {
+               try (EmbeddedQueryResult result = db.query("SELECT * FROM 
test;")) {
+
+                       int i = 0;
+                       Iterator<Column<?>> columnIterator = result.iterator();
+                       while (columnIterator.hasNext()) {
+                               int j = 0;
+                               Iterator<?> rowIterator = 
columnIterator.next().iterator();
+                               while (rowIterator.hasNext()) {
+                                       assertEquals(testValues[i][j++], 
columnIterator.next());
+                               }
+                               i++;
                        }
                }
        }
@@ -154,19 +174,35 @@ public class EmbeddedTest {
        }
 
        @Test
-       public void twoQueries() throws SQLException {
+       public void twoQueriesTest() throws SQLException {
                EmbeddedQueryResult result1 = db.query("SELECT * FROM test 
WHERE id > 1;");
                assertEquals(2, result1.getColumn(1).columnSize());
-               assertEquals(Integer.valueOf(30), 
result1.getColumn(1).getValue(0));
-               assertEquals(null, result1.getColumn(1).getValue(1));
+               assertEquals(testValues[1][2], 
result1.getColumn(1).getValue(0));
+               assertEquals(testValues[1][3], 
result1.getColumn(1).getValue(1));
 
                EmbeddedQueryResult result2 = db.query("SELECT * FROM test 
WHERE id < 1;");
                assertEquals(1, result2.getColumn(1).columnSize());
-               assertEquals(Integer.valueOf(10), 
result2.getColumn(1).getValue(0));
+               assertEquals(testValues[1][0], 
result2.getColumn(1).getValue(0));
 
                assertEquals(2, result1.getColumn(1).columnSize());
-               assertEquals(Integer.valueOf(30), 
result1.getColumn(1).getValue(0));
-               assertEquals(null, result1.getColumn(1).getValue(1));
+               assertEquals(testValues[1][2], 
result1.getColumn(1).getValue(0));
+               assertEquals(testValues[1][3], 
result1.getColumn(1).getValue(1));
+       }
+       
+       @Test
+       public void twoQueriesWithManualCleanupTest() throws SQLException, 
IOException {
+               EmbeddedQueryResult result1 = db.query("SELECT * FROM test 
WHERE id > 1;");
+               assertEquals(2, result1.getColumn(1).columnSize());
+               assertEquals(testValues[1][2], 
result1.getColumn(1).getValue(0));
+               assertEquals(testValues[1][3], 
result1.getColumn(1).getValue(1));
+               result1.close();
+
+               EmbeddedQueryResult result2 = db.query("SELECT * FROM test 
WHERE id < 1;");
+               assertEquals(testValues[1][0], 
result2.getColumn(1).getValue(0));
+
+               assertEquals(2, result1.getColumn(1).columnSize());
+               assertEquals(testValues[1][2], 
result1.getColumn(1).getValue(0));
+               assertEquals(testValues[1][3], 
result1.getColumn(1).getValue(1));
        }
 
        @Test
@@ -190,7 +226,7 @@ public class EmbeddedTest {
                MonetDBEmbedded sameDB = new MonetDBEmbedded(datbaseDirectory, 
false);
                // This is technically a no-op
                sameDB.start();
-       
+
                try (EmbeddedQueryResult result = sameDB.query("SELECT * FROM 
test;")) {
                        assertEquals(4, result.getColumn(1).columnSize());
                        assertEquals(Integer.valueOf(20), 
result.getColumn(1).getValue(1));
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to