View Javadoc
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   * @author timp
13   * @since 3 February 2007
14   *
15   */
16  public class CachedSelectionTest extends
17          org.melati.poem.test.CachedSelectionTest {
18  
19    /**
20     * Constructor.
21     */
22    public CachedSelectionTest() {
23    }
24  
25    /**
26     * Constructor.
27     * 
28     * @param name test name
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     * @see org.melati.poem.test.PoemTestCase#getDatabase(java.lang.String)
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     * @see org.melati.poem.test.CachedSelectionTest#testFirstObject()
66     */
67    public void testFirstObject() {
68      // Hit next in compute()
69      Thrower.startThrowing(ResultSet.class, "next");
70      // Hit finally in compute()
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     * {@inheritDoc}
84     * @see org.melati.poem.test.CachedSelectionTest#testMultiTableSelection()
85     */
86    public void testMultiTableSelection() {
87    }
88  
89    /** 
90     * {@inheritDoc}
91     * @see org.melati.poem.test.CachedSelectionTest#testNth()
92     */
93    public void testNth() {
94    }
95  
96    /** 
97     * {@inheritDoc}
98     * @see org.melati.poem.test.CachedSelectionTest#testToString()
99     */
100   public void testToString() {
101   }
102 
103 }