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