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
13
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
97 }
98 Thrower.stopThrowing(ResultSet.class, "next");
99 }
100
101 }