Changeset: 13e05388a34c for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/13e05388a34c
Modified Files:
src/test/java/JDBC_API_Tester.java
src/test/java/org/monetdb/jdbc/ApiTests.java
Branch: default
Log Message:
Convert Test_Rpositioning() -> ApiTests#testPositioning()
diffs (192 lines):
diff --git a/src/test/java/JDBC_API_Tester.java
b/src/test/java/JDBC_API_Tester.java
--- a/src/test/java/JDBC_API_Tester.java
+++ b/src/test/java/JDBC_API_Tester.java
@@ -1619,109 +1619,6 @@ public final class JDBC_API_Tester exten
}
@Test
- public void Test_Rpositioning() {
- sb.setLength(0); // clear the output log buffer
-
- Statement stmt = null;
- ResultSet rs = null;
- try {
- stmt = con.createStatement();
- // get a one rowed resultset
- rs = stmt.executeQuery("SELECT 1");
-
- // >> true: we should be before the first result now
- sb.append("1.
true\t").append(rs.isBeforeFirst()).append("\n");
- // >> false: we're not at the first result
- sb.append("2.
false\t").append(rs.isFirst()).append("\n");
- // >> true: there is one result, so we can call next
once
- sb.append("3. true\t").append(rs.next()).append("\n");
- // >> false: we're not before the first row anymore
- sb.append("4.
false\t").append(rs.isBeforeFirst()).append("\n");
- // >> true: we're at the first result
- sb.append("5.
true\t").append(rs.isFirst()).append("\n");
- // >> false: we're on the last row
- sb.append("6.
false\t").append(rs.isAfterLast()).append("\n");
- // >> true: see above
- sb.append("7. true\t").append(rs.isLast()).append("\n");
- // >> false: there is one result, so this is it
- sb.append("8. false\t").append(rs.next()).append("\n");
- // >> true: yes, we're at the end
- sb.append("9.
true\t").append(rs.isAfterLast()).append("\n");
- // >> false: no we're one over it
- sb.append("10.
false\t").append(rs.isLast()).append("\n");
- // >> false: another try to move on should still fail
- sb.append("11. false\t").append(rs.next()).append("\n");
- // >> true: and we should stay positioned after the last
-
sb.append("12.true\t").append(rs.isAfterLast()).append("\n");
-
- rs.close();
-
- // try the same with a scrollable result set
- DatabaseMetaData dbmd = con.getMetaData();
- rs = dbmd.getTableTypes();
-
- // >> true: we should be before the first result now
- sb.append("1.
true\t").append(rs.isBeforeFirst()).append("\n");
- // >> false: we're not at the first result
- sb.append("2.
false\t").append(rs.isFirst()).append("\n");
- // >> true: there is one result, so we can call next
once
- sb.append("3. true\t").append(rs.next()).append("\n");
- // >> false: we're not before the first row anymore
- sb.append("4.
false\t").append(rs.isBeforeFirst()).append("\n");
- // >> true: we're at the first result
- sb.append("5.
true\t").append(rs.isFirst()).append("\n");
- // move to last row
- rs.last();
- // >> false: we're on the last row
- sb.append("6.
false\t").append(rs.isAfterLast()).append("\n");
- // >> true: see above
- sb.append("7. true\t").append(rs.isLast()).append("\n");
- // >> false: there is one result, so this is it
- sb.append("8. false\t").append(rs.next()).append("\n");
- // >> true: yes, we're at the end
- sb.append("9.
true\t").append(rs.isAfterLast()).append("\n");
- // >> false: no we're one over it
- sb.append("10.
false\t").append(rs.isLast()).append("\n");
- // >> false: another try to move on should still fail
- sb.append("11. false\t").append(rs.next()).append("\n");
- // >> true: and we should stay positioned after the last
- sb.append("12.
true\t").append(rs.isAfterLast()).append("\n");
-
- rs.close();
- } catch (SQLException e) {
- sb.append("FAILED:
").append(e.getMessage()).append("\n");
- }
-
- closeStmtResSet(stmt, rs);
-
- compareExpectedOutput("Test_Rpositioning",
- "1. true true\n" +
- "2. false false\n" +
- "3. true true\n" +
- "4. false false\n" +
- "5. true true\n" +
- "6. false false\n" +
- "7. true true\n" +
- "8. false false\n" +
- "9. true true\n" +
- "10. false false\n" +
- "11. false false\n" +
- "12.true true\n" +
- "1. true true\n" +
- "2. false false\n" +
- "3. true true\n" +
- "4. false false\n" +
- "5. true true\n" +
- "6. false false\n" +
- "7. true true\n" +
- "8. false false\n" +
- "9. true true\n" +
- "10. false false\n" +
- "11. false false\n" +
- "12. true true\n");
- }
-
- @Test
public void Test_Rtimedate() {
sb.setLength(0); // clear the output log buffer
diff --git a/src/test/java/org/monetdb/jdbc/ApiTests.java
b/src/test/java/org/monetdb/jdbc/ApiTests.java
--- a/src/test/java/org/monetdb/jdbc/ApiTests.java
+++ b/src/test/java/org/monetdb/jdbc/ApiTests.java
@@ -1532,4 +1532,75 @@ public class ApiTests {
rsmd.isSigned(i);
rsmd.isWritable(i);
}
+
+ @Test
+ public void testPositioning() throws SQLException {
+ try (ResultSet rs = stmt.executeQuery("SELECT 1")) {
+ // We should be before the first row
+ assertTrue(rs.isBeforeFirst());
+ assertFalse(rs.isFirst());
+
+ // There is one row, so we can call next once
+ assertTrue(rs.next());
+
+ // We're on the first AND last row
+ assertFalse(rs.isBeforeFirst());
+ assertTrue(rs.isFirst());
+ assertTrue(rs.isLast());
+ assertFalse(rs.isAfterLast());
+
+ // There is one result, so this is it
+ assertFalse(rs.next());
+
+ // Yes, we're at the end
+ assertTrue(rs.isAfterLast());
+ assertFalse(rs.isLast());
+
+ // Seriously!
+ assertFalse(rs.next());
+ assertTrue(rs.isAfterLast());
+ }
+
+ // TableTypes is scrollable
+ try (ResultSet rs = conn.getMetaData().getTableTypes()) {
+ // We should be before the first row
+ assertTrue(rs.isBeforeFirst());
+ assertFalse(rs.isFirst());
+
+ // The result set definitely contains > 1 row
+ assertTrue(rs.next());
+
+ // We're not before the first row anymore
+ assertFalse(rs.isBeforeFirst());
+ assertTrue(rs.isFirst());
+
+ // The result set definitely contains > 1 row
+ assertFalse(rs.isLast());
+ assertFalse(rs.isAfterLast());
+
+ // move to last row
+ rs.last();
+
+ // We're on the last row
+ assertTrue(rs.isLast());
+ assertFalse(rs.isAfterLast());
+
+ // Move beyond it
+ assertFalse(rs.next());
+
+ // Yes, we're at the end
+ assertFalse(rs.isLast());
+ assertTrue(rs.isAfterLast());
+
+ // Really
+ assertFalse(rs.next());
+ assertFalse(rs.isLast());
+ assertTrue(rs.isAfterLast());
+
+ // Really really
+ assertFalse(rs.next());
+ assertFalse(rs.isLast());
+ assertTrue(rs.isAfterLast());
+ }
+ }
}
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]