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

Add a new set of unit tests
Note: one of them fails - this is on purpose, it's not supposed to in the end


diffs (102 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
@@ -16,44 +16,79 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.sql.SQLException;
 
-import org.junit.Ignore;
+import org.junit.BeforeClass;
 import org.junit.Test;
 import org.monetdb.embedded.MonetDBEmbedded;
 import org.monetdb.embedded.result.EmbeddedQueryResult;
 
 public class EmbeddedTest {
+       static File datbaseDirectory;
+       static MonetDBEmbedded db;
 
-       @Ignore
-       @Test
-       public void newDatabaseTest() throws IOException, SQLException {
-               final Path directoryPath = Files.createTempDirectory("monetdb");
-               final File directory = directoryPath.toFile();
+       @BeforeClass
+       public static void createTestDB() throws IOException, SQLException {
+               final Path directoryPath = 
Files.createTempDirectory("monetdbtest");
+               datbaseDirectory = directoryPath.toFile();
 
-               MonetDBEmbedded db = new MonetDBEmbedded(directory);
+               db = new MonetDBEmbedded(datbaseDirectory);
                db.startup(false);
 
                db.query("CREATE TABLE world (id integer, val integer);");
-               db.query("INSERT INTO world VALUES (1, 10), (2, 20), (3, 30);");
+               db.query("INSERT INTO world VALUES (1, 10), (2, 20), (3, 30), 
(4, null);");
+       }
 
+       @Test
+       public void restartExistingDatabaseTest() throws IOException, 
SQLException {
+               MonetDBEmbedded restartedDB = new 
MonetDBEmbedded(datbaseDirectory);
+               restartedDB.startup(false);
+
+               try (EmbeddedQueryResult result = restartedDB.query("SELECT * 
FROM world;")) {
+                       assertEquals(4, result.getColumn(1).columnSize());
+                       assertEquals(Integer.valueOf(20), 
result.getColumn(1).getVaule(1));
+                       assertEquals(null, result.getColumn(1).getVaule(3));
+               }
+       }
+
+       @Test
+       public void IntegerAndNullTest() throws IOException, SQLException {
+               try (EmbeddedQueryResult result = db.query("SELECT * FROM 
world;")) {
+                       assertEquals(4, result.getColumn(1).columnSize());
+                       assertEquals(Integer.valueOf(20), 
result.getColumn(1).getVaule(1));
+                       assertEquals(null, result.getColumn(1).getVaule(3));
+               }
+       }
+
+       @Test
+       public void manualCleanupTest() throws IOException, SQLException {
+               @SuppressWarnings("resource")
                EmbeddedQueryResult result = db.query("SELECT * FROM world;");
-               assertEquals(3, result.getColumn(1).columnSize());
+               assertEquals(4, result.getColumn(1).columnSize());
+               assertEquals(Integer.valueOf(20), 
result.getColumn(1).getVaule(1));
+               assertEquals(null, result.getColumn(1).getVaule(3));
 
                result.close();
        }
 
+       @Test(expected=SQLException.class)
+       public void captureQueryErrorTest() throws SQLException {
+               db.query("SELECT FROM world;");
+       }
+
        @Test
-       public void existingDatabaseTest() throws IOException, SQLException {
-               final File directory = new File("src" + File.separatorChar + 
"test" + 
-                               File.separatorChar + "resources" + 
File.separatorChar + "monetdbtest");
-               directory.mkdirs();
+       public void newDatabaseTest() throws IOException, SQLException {
+               final Path tempDirectoryPath = 
Files.createTempDirectory("new_monetdbtest_new");
+               final File newDirectory = tempDirectoryPath.toFile();
 
-               MonetDBEmbedded db = new MonetDBEmbedded(directory);
-               db.startup(false);
+               MonetDBEmbedded newDB = new MonetDBEmbedded(newDirectory);
+               newDB.startup(false);
 
-               EmbeddedQueryResult result = db.query("SELECT * FROM world;");
-               assertEquals(3, result.getColumn(1).columnSize());
-               assertEquals(20, result.getColumn(1).getVaule(1));
+               newDB.query("CREATE TABLE world (id integer, val integer);");
+               newDB.query("INSERT INTO world VALUES (1, 10), (2, 20), (3, 
30), (4, null);");
 
-               result.close();
+               try (EmbeddedQueryResult result = newDB.query("SELECT * FROM 
world;")) {
+                       assertEquals(4, result.getColumn(1).columnSize());
+                       assertEquals(Integer.valueOf(20), 
result.getColumn(1).getVaule(1));
+                       assertEquals(null, result.getColumn(1).getVaule(3));
+               }
        }
 }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to