1 package org.dbunit;
2
3 import java.io.File;
4 import java.sql.Connection;
5 import java.util.Set;
6
7 import junit.framework.TestCase;
8
9 import org.dbunit.database.DatabaseConnection;
10 import org.dbunit.database.IDatabaseConnection;
11
12 import org.dbunit.testutil.TestUtils;
13 import org.dbunit.util.CollectionsHelper;
14
15 import org.slf4j.Logger;
16 import org.slf4j.LoggerFactory;
17
18 public abstract class AbstractHSQLTestCase extends TestCase {
19
20 public static final String A = "A";
21 public static final String B = "B";
22 public static final String C = "C";
23 public static final String D = "D";
24 public static final String E = "E";
25 public static final String F = "F";
26 public static final String G = "G";
27 public static final String H = "H";
28
29 public static final String A1 = "A1";
30 public static final String B1 = "B1";
31 public static final String C1 = "C1";
32 public static final String D1 = "D1";
33 public static final String E1 = "E1";
34 public static final String F1 = "F1";
35 public static final String G1 = "G1";
36 public static final String H1 = "H1";
37
38 public static final String A2 = "A2";
39 public static final String B2 = "B2";
40 public static final String C2 = "C2";
41 public static final String D2 = "D2";
42 public static final String E2 = "E2";
43 public static final String F2 = "F2";
44 public static final String G2 = "G2";
45 public static final String H2 = "H2";
46
47 public static final String C3 = "C3";
48 public static final String E3 = "E3";
49
50 public static final String C4 = "C4";
51 public static final String E4 = "E4";
52
53 public static final String B3 = "B3";
54 public static final String B4 = "B4";
55 public static final String B5 = "B5";
56 public static final String B6 = "B6";
57 public static final String B7 = "B7";
58 public static final String B8 = "B8";
59
60 private Connection jdbcConnection;
61 private final String sqlFile;
62 private IDatabaseConnection connection;
63
64 protected final Logger logger = LoggerFactory.getLogger(getClass());
65
66 public AbstractHSQLTestCase(String testName, String sqlFile) {
67 super(testName);
68 this.sqlFile = sqlFile;
69 }
70
71 protected void setUp() throws Exception {
72 super.setUp();
73
74 this.jdbcConnection = HypersonicEnvironment.createJdbcConnection("mem:tempdb");
75 HypersonicEnvironment.executeDdlFile(TestUtils.getFile(
76 "sql/" + sqlFile), jdbcConnection);
77 this.connection = new DatabaseConnection(jdbcConnection);
78 }
79
80 protected void tearDown() throws Exception {
81 super.tearDown();
82
83 HypersonicEnvironment.shutdown(this.jdbcConnection);
84 this.jdbcConnection.close();
85 }
86
87 protected IDatabaseConnection getConnection() {
88 return this.connection;
89 }
90
91 protected static String dump(String[] parent) {
92 StringBuffer buffer = new StringBuffer("[ " + parent[0]);
93 for (int i = 1; i < parent.length; i++) {
94 buffer.append(", " + parent[i]);
95 }
96 buffer.append(" ]");
97 return buffer.toString();
98 }
99
100 public static String dump(Set set) {
101 String[] strings= CollectionsHelper.setToStrings(set);
102 return dump(strings);
103 }
104
105 }