View Javadoc
1   /**
2    * 
3    */
4   package org.melati.poem.dbms.test;
5   
6   import org.melati.poem.DoublePoemType;
7   import org.melati.poem.IntegerPoemType;
8   import org.melati.poem.LongPoemType;
9   import org.melati.poem.StringPoemType;
10  import org.melati.poem.dbms.DbmsFactory;
11  
12  /**
13   * @author timp
14   * @since 23 Jan 2007
15   *
16   */
17  public class PostgresqlTest extends DbmsSpec {
18  
19    /**
20     * Constructor.
21     * @param name
22     */
23    public PostgresqlTest(String name) {
24      super(name);
25    }
26  
27    /**
28     * {@inheritDoc}
29     * @see org.melati.poem.dbms.test.DbmsSpec#setUp()
30     */
31    protected void setUp() throws Exception {
32      super.setUp();
33    }
34  
35    /**
36     * {@inheritDoc}
37     * @see org.melati.poem.dbms.test.DbmsSpec#tearDown()
38     */
39    protected void tearDown() throws Exception {
40      super.tearDown();
41    }
42  
43    protected void setObjectUnderTest() {
44      it = DbmsFactory.getDbms("org.melati.poem.dbms.Postgresql");
45    }
46  
47    /**
48     * Test method for {@link org.melati.poem.dbms.Postgresql#
49     * preparedStatementPlaceholder(org.melati.poem.PoemType)}.
50     */
51    public void testPreparedStatementPlaceholder() {
52      assertEquals("CAST(? AS INT4)", it.preparedStatementPlaceholder(new IntegerPoemType(true)));
53      assertEquals("CAST(? AS INT8)", it.preparedStatementPlaceholder(new LongPoemType(true)));
54      assertEquals("CAST(? AS FLOAT8)", it.preparedStatementPlaceholder(new DoublePoemType(true)));
55      assertEquals("?", it.preparedStatementPlaceholder(new StringPoemType(true, -1)));
56    }
57    
58    /**
59     * Test method for {@link org.melati.poem.dbms.Dbms#
60     * getStringSqlDefinition(java.lang.String)}.
61     */
62    public void testGetStringSqlDefinition() throws Exception {
63      assertEquals("VARCHAR(0)", it.getStringSqlDefinition(0));    
64      assertEquals("TEXT",  it.getStringSqlDefinition(-1));
65    }
66    
67    /**
68     * Test method for {@link org.melati.poem.dbms.Dbms#
69     * getBinarySqlDefinition(int)}.
70     */
71    public void testGetBinarySqlDefinition() throws Exception {
72      assertEquals("BYTEA", it.getBinarySqlDefinition(0));        
73    }
74  
75    /**
76     * Test method for {@link org.melati.poem.dbms.Dbms#createTableSql}.
77     */
78    public void testCreateTableSql() {
79      if (getDb().getDbms() == it)
80        assertEquals("CREATE TABLE \"user\" (\"id\" INT NOT NULL, \"name\" VARCHAR(60) NOT NULL, \"login\" VARCHAR(255) NOT NULL, \"password\" VARCHAR(20) NOT NULL)", it.createTableSql(getDb().getUserTable()));
81    }
82    
83    
84  }