1 package org.melati.poem.test;
2
3 import java.util.Collection;
4 import java.util.Iterator;
5 import java.util.NoSuchElementException;
6
7 import org.melati.poem.Setting;
8 import org.melati.poem.TableMap;
9 import org.melati.poem.User;
10
11
12
13
14
15
16 public class TableMapTest extends PoemTestCase {
17
18 private TableMap<User> it;
19 private TableMap<Setting> noArg;
20
21 public TableMapTest(String name) {
22 super(name);
23 }
24
25 protected void setUp() throws Exception {
26 super.setUp();
27 createObjectsUnderTest();
28 }
29
30 protected void createObjectsUnderTest() {
31 it = new TableMap<User>(getDb().getUserTable());
32 noArg = new TableMap<Setting>();
33 }
34
35 protected TableMap<User> getObjectUnderTest() {
36 return it;
37 }
38 protected TableMap<Setting> getNoArgObjectUnderTest() {
39 return noArg;
40 }
41
42
43
44
45 protected void tearDown() throws Exception {
46 super.tearDown();
47 }
48
49
50
51
52 public void testTableMap() {
53
54 }
55
56
57
58
59 public void testTableMapTable() {
60
61 }
62
63
64
65
66 public void testGetTable() {
67 System.err.println(getObjectUnderTest().getClass());
68 assertEquals(getDb().getUserTable(), getObjectUnderTest().getTable());
69 assertNull(getNoArgObjectUnderTest().getTable());
70
71 }
72
73
74
75
76 public void testSetTable() {
77 getObjectUnderTest().setTable(getDb().getUserTable());
78 assertEquals(getDb().getUserTable(), getObjectUnderTest().getTable());
79
80 }
81
82
83
84
85 public void testClear() {
86 try {
87 getObjectUnderTest().clear();
88 fail("Should have bombed");
89 } catch (UnsupportedOperationException e) {
90 e = null;
91 }
92 }
93
94
95
96
97 public void testContainsKey() {
98 assertTrue(getObjectUnderTest().containsKey(new Integer(0)));
99 try {
100 getNoArgObjectUnderTest().containsKey(new Integer(0));
101 fail("Should have bombed");
102 } catch (NullPointerException e) {
103 e = null;
104 }
105 }
106
107
108
109
110 public void testContainsValue() {
111 assertTrue(getObjectUnderTest().containsValue(getDb().getUserTable().administratorUser()));
112 try {
113 getNoArgObjectUnderTest().containsValue(getDb().getUserTable().administratorUser());
114 fail("Should have bombed");
115 } catch (NullPointerException e) {
116 e = null;
117 }
118 }
119
120
121
122
123 public void testEntrySet() {
124 try {
125 getObjectUnderTest().entrySet();
126 fail("Should have bombed");
127 } catch (UnsupportedOperationException e) {
128 e = null;
129 }
130 }
131
132
133
134
135 public void testGet() {
136 assertEquals(getDb().getUserTable().administratorUser(),getObjectUnderTest().get(new Integer(1)));
137 try {
138 getNoArgObjectUnderTest().get(new Integer(0));
139 fail("Should have bombed");
140 } catch (NullPointerException e) {
141 e = null;
142 }
143 }
144
145
146
147
148 public void testIsEmpty() {
149 assertFalse(getObjectUnderTest().isEmpty());
150 getNoArgObjectUnderTest().setTable(getDb().getSettingTable());
151
152 assertFalse(getObjectUnderTest().isEmpty());
153 }
154
155
156
157
158 public void testKeySet() {
159 try {
160 getObjectUnderTest().keySet();
161 fail("Should have bombed");
162 } catch (UnsupportedOperationException e) {
163 e = null;
164 }
165 }
166
167
168
169
170 public void testPut() {
171
172
173
174
175
176
177
178
179
180 }
181
182
183
184
185 public void testPutAll() {
186 try {
187 getNoArgObjectUnderTest().putAll(noArg);
188 fail("Should have bombed");
189 } catch (UnsupportedOperationException e) {
190 e = null;
191 }
192 }
193
194
195
196
197 public void testRemove() {
198 User u = (User)getDb().getUserTable().newPersistent();
199 u.setLogin("test");
200 u.setName("Test");
201 u.setPassword("test");
202 assertFalse(getObjectUnderTest().containsValue(u));
203 u.makePersistent();
204 assertTrue(getObjectUnderTest().containsValue(u));
205 User old = (User)getObjectUnderTest().remove(u.getTroid());
206 assertFalse(getObjectUnderTest().containsValue(u));
207 assertFalse(getObjectUnderTest().containsValue(old));
208
209 assertFalse(old.statusExistent());
210 assertFalse(old.statusNonexistent());
211
212 assertFalse(u.statusExistent());
213 assertFalse(u.statusNonexistent());
214 }
215
216
217
218
219 public void testSize() {
220 assertEquals(2, getObjectUnderTest().size());
221 }
222
223
224
225
226 public void testValues() {
227 Collection<User> c = getObjectUnderTest().values();
228 Iterator<User> i = c.iterator();
229 assertEquals("_guest_",i.next().toString());
230 assertEquals("_administrator_",i.next().toString());
231 try {
232 i.next();
233 fail("Should have bombed");
234 } catch (NoSuchElementException e) {
235 e = null;
236 }
237 }
238
239 }