1
2
3
4 package org.melati.poem.test;
5
6 import org.melati.poem.PoemTypeFactory;
7 import org.melati.poem.Setting;
8 import org.melati.poem.SettingTable.UnsetException;
9
10
11
12
13 public class SettingTableTest extends PoemTestCase {
14
15 public SettingTableTest(String name) {
16 super(name);
17 }
18
19 protected void setUp()
20 throws Exception {
21 super.setUp();
22 }
23
24 protected void tearDown()
25 throws Exception {
26 super.tearDown();
27 }
28
29
30
31
32 public void testPostInitialise() {
33
34 }
35
36
37
38
39 public void testSettingTable() {
40
41 }
42
43
44
45
46 public void testGetCooked() {
47 if (!getDb().getDbms().canDropColumns()) {
48 return;
49 }
50
51 Setting stringSetting = getDb().getSettingTable().ensure("stringSetting",
52 "set", "String", "A set string setting");
53 stringSetting.setValue("new");
54 assertEquals("new", stringSetting.getCooked());
55 assertEquals("new", (String) getDb().getSettingTable().getCooked(
56 "stringSetting"));
57 assertNull(getDb().getSettingTable().getCooked("unsetSetting"));
58 Setting setting2 = getDb().getSettingTable().ensure("nullIntegerSetting", null, "Null Integer",
59 "A null Integer setting");
60 assertNull(getDb().getSettingTable().getCooked("nullIntegerSetting"));
61
62 assertNull(getDb().getSettingTable().getCooked("nullIntegerSetting"));
63 Setting setting3 = getDb().getSettingTable().ensure("integerSettingA", 13, "Integer",
64 "A set Integer setting");
65 assertEquals(new Integer(13), getDb().getSettingTable().getCooked(
66 "integerSettingA"));
67 assertEquals(new Integer(13), getDb().getSettingTable().getCooked(
68 "integerSettingA"));
69
70 stringSetting.delete();
71 setting2.delete();
72 setting3.delete();
73 }
74
75
76
77
78 public void testGet() {
79 if (!getDb().getDbms().canDropColumns()) {
80 return;
81 }
82 Setting setting1 = getDb().getSettingTable().ensure("integerSettingG", 12, "Integer",
83 "A set Integer setting");
84 assertEquals("12", getDb().getSettingTable().get("integerSettingG"));
85 assertNull(getDb().getSettingTable().get("unsetSetting"));
86 setting1.delete();
87
88 }
89
90
91
92
93 public void testGetOrDie() {
94 if (!getDb().getDbms().canDropColumns()) {
95 return;
96 }
97 Setting s = getDb().getSettingTable().ensure("integerSettingGOD", 12, "Integer",
98 "A set Integer setting");
99 assertEquals("12", (String) getDb().getSettingTable().getOrDie("integerSettingGOD"));
100 try {
101 getDb().getSettingTable().getOrDie("unsetSetting");
102 fail("Should have blown up");
103 } catch (UnsetException e) {
104 e = null;
105 }
106 s.delete();
107 }
108
109
110
111
112
113 public void testEnsureStringPoemTypeFactoryObjectStringString() {
114 if (!getDb().getDbms().canDropColumns()) {
115 return;
116 }
117 Setting stringSetting1 = getDb().getSettingTable().ensure("stringSetting",
118 PoemTypeFactory.STRING, "set", "String", "A set string setting");
119 Setting stringSetting2 = getDb().getSettingTable().ensure("stringSetting",
120 "set", "String", "A set string setting");
121 assertEquals(stringSetting1, stringSetting2);
122 stringSetting1.delete();
123
124
125 Setting integerSetting1 = getDb().getSettingTable().ensure(
126 "integerSetting", PoemTypeFactory.INTEGER, new Integer(13), "Integer",
127 "An integer setting");
128 Setting integerSetting2 = getDb().getSettingTable().ensure(
129 "integerSetting", 13, "Integer",
130 "An integer setting");
131 assertEquals(integerSetting1, integerSetting2);
132 integerSetting1.delete();
133 Setting booleanSetting1 = getDb().getSettingTable().ensure(
134 "booleanSetting", PoemTypeFactory.BOOLEAN, new Boolean(true), "Boolean",
135 "A boolean setting");
136 Setting booleanSetting2 = getDb().getSettingTable().ensure(
137 "booleanSetting", true, "Boolean",
138 "A boolean setting");
139 assertEquals(booleanSetting1, booleanSetting2);
140 booleanSetting1.delete();
141 }
142
143
144
145
146 public void testEnsureStringStringStringString() {
147
148 }
149
150
151
152
153 public void testEnsureStringIntStringString() {
154
155 }
156
157
158
159
160 public void testEnsureStringBooleanStringString() {
161
162 }
163
164 }