View Javadoc
1   package org.melati.poem.test.throwing;
2   
3   import java.sql.ResultSet;
4   import java.util.NoSuchElementException;
5   
6   import org.melati.poem.Database;
7   import org.melati.poem.PoemDatabaseFactory;
8   import org.melati.poem.SQLSeriousPoemException;
9   import org.melati.poem.dbms.test.sql.Thrower;
10  
11  /**
12   * @author timp
13   * @since 11 Feb 2007
14   *
15   */
16  public class ResultSetEnumerationTest extends
17      org.melati.poem.test.ResultSetEnumerationTest {
18  
19    public ResultSetEnumerationTest(String name) {
20      super(name);
21    }
22  
23    protected void setUp() throws Exception {
24      PoemDatabaseFactory.removeDatabase(getDatabaseName());
25      super.setUp();
26      assertEquals("org.melati.poem.dbms.test.HsqldbThrower",getDb().getDbms().getClass().getName());
27    }
28  
29    protected void tearDown() throws Exception {
30      try { 
31        super.tearDown();
32      } finally { 
33        PoemDatabaseFactory.removeDatabase(getDatabaseName());
34      }
35    }
36  
37    public Database getDatabase(String name) {
38      maxTrans = 8;
39      Database db = PoemDatabaseFactory.getDatabase(name, 
40          "jdbc:hsqldb:mem:" + name,
41          "sa", 
42          "",
43          "org.melati.poem.PoemDatabase",
44          "org.melati.poem.dbms.test.HsqldbThrower", 
45          false, 
46          false, 
47          false, maxTrans);
48      return db;
49    }
50  
51    public void testHasMoreElements() {
52      Thrower.startThrowing(ResultSet.class, "close");
53      try { 
54        super.testHasMoreElements();
55        fail("Should have bombed");
56      } catch (SQLSeriousPoemException e) { 
57        assertEquals("ResultSet bombed", e.innermostException().getMessage());
58      }
59      Thrower.stopThrowing(ResultSet.class, "close");
60      Thrower.startThrowing(ResultSet.class, "getInt");
61      try { 
62        super.testHasMoreElements();
63        fail("Should have bombed");
64      } catch (SQLSeriousPoemException e) { 
65        assertEquals("ResultSet bombed", e.innermostException().getMessage());
66      }
67      Thrower.stopThrowing(ResultSet.class, "getInt");
68    }
69    public void testNextElement() {
70      Thrower.startThrowing(ResultSet.class, "close");
71      try { 
72        super.testNextElement();
73        fail("Should have bombed");
74      } catch (SQLSeriousPoemException e) { 
75        assertEquals("ResultSet bombed", e.innermostException().getMessage());
76      }
77      Thrower.stopThrowing(ResultSet.class, "close");
78      Thrower.startThrowing(ResultSet.class, "getInt");
79      try { 
80        super.testNextElement();
81        fail("Should have bombed");
82      } catch (SQLSeriousPoemException e) { 
83        assertEquals("ResultSet bombed", e.innermostException().getMessage());
84      }
85      Thrower.stopThrowing(ResultSet.class, "getInt");
86    }
87    public void testResultSetEnumeration() {
88      super.testResultSetEnumeration();
89    }
90    public void testSkip() {
91      Thrower.startThrowing(ResultSet.class, "next");
92      try { 
93        super.testSkip();
94        fail("Should have bombed");
95      } catch (NoSuchElementException e) {
96        //assertEquals("ResultSet bombed", e.innermostException().getMessage());
97      }
98      Thrower.stopThrowing(ResultSet.class, "next");
99    }
100 
101 }