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
14
15
16
17 public class PostgresqlTest extends DbmsSpec {
18
19
20
21
22
23 public PostgresqlTest(String name) {
24 super(name);
25 }
26
27
28
29
30
31 protected void setUp() throws Exception {
32 super.setUp();
33 }
34
35
36
37
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
49
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
60
61
62 public void testGetStringSqlDefinition() throws Exception {
63 assertEquals("VARCHAR(0)", it.getStringSqlDefinition(0));
64 assertEquals("TEXT", it.getStringSqlDefinition(-1));
65 }
66
67
68
69
70
71 public void testGetBinarySqlDefinition() throws Exception {
72 assertEquals("BYTEA", it.getBinarySqlDefinition(0));
73 }
74
75
76
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 }