View Javadoc
1   package org.melati.poem.test;
2   
3   import java.sql.PreparedStatement;
4   import java.sql.ResultSet;
5   
6   import org.melati.poem.Database;
7   import org.melati.poem.PreparedStatementFactory;
8   import org.melati.poem.UserTable;
9   
10  /**
11   * @author timp
12   * @since 26 Jan 2007
13   *
14   */
15  public class PreparedStatementFactoryTest extends PoemTestCase {
16  
17    public PreparedStatementFactoryTest(String name) {
18      super(name);
19    }
20  
21    protected void setUp() throws Exception {
22      super.setUp();
23    }
24  
25    protected void tearDown() throws Exception {
26      super.tearDown();
27    }
28  
29    /**
30     * Test method for {@link org.melati.poem.PreparedStatementFactory#get(int)}.
31     */
32    public void testGet() {
33      
34    }
35  
36    /**
37     * Test method for {@link org.melati.poem.PreparedStatementFactory#PreparedStatementFactory(org.melati.poem.Database, java.lang.String)}.
38     */
39    public void testPreparedStatementFactory() {
40      
41    }
42  
43    /**
44     * Test method for {@link org.melati.poem.PreparedStatementFactory#preparedStatement(org.melati.poem.PoemTransaction)}.
45     */
46    public void testPreparedStatementPoemTransaction() {
47      
48    }
49  
50    /**
51     * Test method for {@link org.melati.poem.PreparedStatementFactory#preparedStatement()}.
52     */
53    public void testPreparedStatement() throws Exception {
54      Database db = getDb();
55      UserTable<org.melati.poem.User> ut = db.getUserTable();
56      String q = ut.selectionSQL(null,null,null,true,false);
57      String expected = 
58        "SELECT " + db.getDbms().getQuotedName("user") + "." + 
59        getDb().getDbms().getQuotedName("id") + 
60        " FROM " +db.getDbms().getQuotedName("user") + 
61        " ORDER BY " + getDb().getDbms().getQuotedName("user") + "." +db.getDbms().getQuotedName("name");
62        
63      assertEquals(expected, q);
64      PreparedStatementFactory it = new PreparedStatementFactory(db,
65          expected);
66      String sql = it.toString().substring(it.toString().indexOf('(') +6, it.toString().indexOf(')'));
67      assertEquals(expected, sql);
68      
69      PreparedStatement ps = it.preparedStatement();
70      ResultSet rs = ps.executeQuery();
71      rs.next();
72      int troid = rs.getInt(1);
73      assertEquals(1,troid);
74    }
75  
76    /**
77     * Test method for {@link org.melati.poem.PreparedStatementFactory#resultSet()}.
78     */
79    public void testResultSet() throws Exception {
80      PreparedStatementFactory it = new PreparedStatementFactory(getDb(),
81          getDb().getUserTable().selectionSQL(null,null,null,true,false));
82      ResultSet rs = it.resultSet();
83      rs.next();
84      int troid = rs.getInt(1);
85      assertEquals(1,troid);
86      
87    }
88  
89  }