1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 package name.angoca.db2sa.core.syntax.graph;
30
31 import name.angoca.db2sa.core.syntax.graph.exception.InvalidGraphTokenException;
32
33 import org.junit.Assert;
34 import org.junit.Test;
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 public final class GraphTokenTest {
53
54
55
56
57 private final String CREATE = "create";
58
59
60
61 private final String TABLE = "table";
62
63
64
65 private final String TABLESPACE = "tablespace";
66
67
68
69 private final String TABLENAME = "<tableName>";
70
71
72
73 private final String TABLENAME_DESC = "{<tableName>}";
74
75
76
77
78 public GraphTokenTest() {
79
80 }
81
82
83
84
85 @Test(expected = InvalidGraphTokenException.class)
86 public final void testInvalidName() {
87 final String token = "";
88
89 new GraphToken(token, true);
90
91 Assert.fail("Exception before this");
92 }
93
94
95
96
97 @Test
98 public final void testEqualsDifferentChildren() {
99 final String token11 = this.CREATE;
100 final String token12 = this.TABLE;
101 final String token21 = this.CREATE;
102 final String token22 = this.TABLESPACE;
103
104 final GraphToken actual = new GraphToken(token11, true);
105 final GraphToken child1 = new GraphToken(token12, true);
106 actual.addWay(child1);
107 final GraphToken expected = new GraphToken(token21, true);
108 final GraphToken child2 = new GraphToken(token22, true);
109 expected.addWay(child2);
110 final boolean condition1 = actual.equals(expected);
111 final boolean condition2 = expected.equals(actual);
112
113 Assert.assertFalse("1 - Two identical tokens with different children "
114 + "(a.equals(e))", condition1);
115 Assert.assertFalse("2 - Two identical tokens with different children "
116 + "(e.equals(a))", condition2);
117 }
118
119
120
121
122 @Test
123 public final void testEqualsDifferentMixed() {
124 final String token1 = this.CREATE;
125 final String token2 = this.TABLENAME;
126
127 final GraphToken actual = new GraphToken(token1, true);
128 final GraphToken expected = new GraphToken(token2, false);
129 final boolean condition1 = actual.equals(expected);
130 final boolean condition2 = expected.equals(actual);
131
132 Assert.assertFalse("1 - Two different tokens - mixed",
133 condition1);
134 Assert.assertFalse("2 - Two different tokens - mixed",
135 condition2);
136 }
137
138
139
140
141 @Test
142 public final void testEqualsDifferentNotReserved() {
143 final String token1 = this.TABLENAME;
144 final String token2 = "<colName>";
145
146 final GraphToken actual = new GraphToken(token1, false);
147 final GraphToken expected = new GraphToken(token2, false);
148 final boolean condition = actual.equals(expected);
149
150 Assert.assertFalse("two different tokens - non reserved",
151 condition);
152 }
153
154
155
156
157 @Test
158 public final void testEqualsDifferentReserved() {
159 final String token1 = this.CREATE;
160 final String token2 = this.TABLE;
161
162 final GraphToken actual = new GraphToken(token1, true);
163 final GraphToken expected = new GraphToken(token2, true);
164 final boolean condition = actual.equals(expected);
165
166 Assert.assertFalse("two different token - reserved", condition);
167 }
168
169
170
171
172 @Test
173 public final void testEqualsMoreChildren() {
174 final String token11 = this.CREATE;
175 final String token12 = this.TABLE;
176 final String token21 = this.CREATE;
177 final String token22 = this.TABLE;
178 final String token23 = this.TABLESPACE;
179
180 final GraphToken actual = new GraphToken(token11, true);
181 final GraphToken child1 = new GraphToken(token12, true);
182 actual.addWay(child1);
183 final GraphToken expected = new GraphToken(token21, true);
184 final GraphToken child2 = new GraphToken(token22, true);
185 expected.addWay(child2);
186 final GraphToken child3 = new GraphToken(token23, true);
187 expected.addWay(child3);
188 final boolean condition1 = actual.equals(expected);
189 final boolean condition2 = expected.equals(actual);
190
191 Assert.assertFalse("1 - two identical token, one with children",
192 condition1);
193 Assert.assertFalse("2- two identical token, one with children",
194 condition2);
195 }
196
197
198
199
200 @Test
201 public final void testEqualsNotReserved() {
202 final String token1 = this.TABLENAME;
203 final String token2 = this.TABLENAME;
204
205 final GraphToken actual = new GraphToken(token1, false);
206 final GraphToken expected = new GraphToken(token2, false);
207 final boolean condition = actual.equals(expected);
208
209 Assert.assertTrue("two identical token reserved", condition);
210 }
211
212
213
214
215 @Test
216 public final void testEqualsNull() {
217 final String token1 = this.CREATE;
218
219 final GraphToken actual = new GraphToken(token1, true);
220
221 final GraphToken nullObject = null;
222
223 final boolean condition = actual.equals(nullObject);
224
225 Assert.assertFalse("equals with null value", condition);
226 }
227
228
229
230
231 @Test
232 public final void testEqualsOtherObject() {
233 final String token1 = this.CREATE;
234
235 final GraphToken actual = new GraphToken(token1, true);
236 final StartingToken expected = new StartingToken();
237 final boolean condition = actual.equals(expected);
238
239 Assert.assertFalse("equals with two identical objects",
240 condition);
241 }
242
243
244
245
246 @Test
247 public final void testEqualsReserved() {
248 final String token1 = this.CREATE;
249 final String token2 = this.CREATE;
250
251 final GraphToken actual = new GraphToken(token1, true);
252 final GraphToken expected = new GraphToken(token2, true);
253 final boolean condition = actual.equals(expected);
254
255 Assert.assertTrue("two identical tokens - reserved word",
256 condition);
257 }
258
259
260
261
262 @Test
263 public final void testEqualsSameChildren() {
264 final String token11 = this.CREATE;
265 final String token12 = this.TABLE;
266 final String token21 = this.CREATE;
267 final String token22 = this.TABLE;
268
269 final GraphToken actual = new GraphToken(token11, true);
270 final GraphToken child1 = new GraphToken(token12, true);
271 actual.addWay(child1);
272 final GraphToken expected = new GraphToken(token21, true);
273 final GraphToken child2 = new GraphToken(token22, true);
274 expected.addWay(child2);
275 final boolean condition = actual.equals(expected);
276
277 Assert.assertTrue(condition);
278 }
279
280
281
282
283 @Test
284 public final void testHashCodeDifferent() {
285 final String token1 = this.CREATE;
286 final String token2 = this.TABLENAME;
287
288 final GraphToken actual = new GraphToken(token1, true);
289 final GraphToken expected = new GraphToken(token2, false);
290 final boolean condition = actual.hashCode() == expected.hashCode();
291
292 Assert.assertFalse(condition);
293 }
294
295
296
297
298 @Test
299 public final void testHashCodeDifferentWithChildren() {
300 final String token1 = this.CREATE;
301 final String token2 = this.CREATE;
302 final String token21 = this.TABLE;
303
304 final GraphToken actual = new GraphToken(token1, false);
305 final GraphToken expected = new GraphToken(token2, false);
306 final GraphToken child = new GraphToken(token21, false);
307 expected.addWay(child);
308 final boolean condition = actual.hashCode() == expected.hashCode();
309
310 Assert.assertFalse(condition);
311 }
312
313
314
315
316 @Test
317 public final void testHashCodeIdenticalNotReserved() {
318 final String token1 = this.TABLENAME;
319 final String token2 = this.TABLENAME;
320
321 final GraphToken actual = new GraphToken(token1, false);
322 final GraphToken expected = new GraphToken(token2, false);
323 final boolean condition = actual.hashCode() == expected.hashCode();
324
325 Assert.assertTrue(condition);
326 }
327
328
329
330
331 @Test
332 public final void testHashCodeIdenticalReserved() {
333 final String token1 = this.CREATE;
334 final String token2 = this.CREATE;
335
336 final GraphToken actual = new GraphToken(token1, true);
337 final GraphToken expected = new GraphToken(token2, true);
338 final boolean condition = actual.hashCode() == expected.hashCode();
339
340 Assert.assertTrue(condition);
341 }
342
343
344
345
346
347 @Test
348 public final void testRepresentCapitalReservedFalse() {
349 final String token1 = this.CREATE;
350 final String token2 = "TABLE";
351
352 final GraphToken token = new GraphToken(token1, true);
353 final boolean condition = token.represent(token2);
354
355 Assert.assertFalse(condition);
356 }
357
358
359
360
361 @Test
362 public final void testRepresentCapitalReservedTrue() {
363 final String token1 = this.CREATE;
364 final String token2 = "CREATE";
365
366 final GraphToken token = new GraphToken(token1, true);
367 final boolean condition = token.represent(token2);
368
369 Assert.assertTrue(condition);
370 }
371
372
373
374
375 @Test
376 public final void testRepresentNotReservedTrue() {
377 final String token1 = this.TABLENAME;
378 final String token2 = "Employees";
379
380 final GraphToken token = new GraphToken(token1, false);
381 final boolean condition = token.represent(token2);
382
383 Assert.assertTrue(condition);
384 }
385
386
387
388
389 @Test
390 public final void testRepresentReservedFalse() {
391 final String token1 = this.CREATE;
392 final String token2 = this.TABLE;
393
394 final GraphToken token = new GraphToken(token1, true);
395 final boolean condition = token.represent(token2);
396
397 Assert.assertFalse(condition);
398 }
399
400
401
402
403 @Test
404 public final void testRepresentReservedTrue() {
405 final String token1 = this.CREATE;
406 final String token2 = this.CREATE;
407
408 final GraphToken token = new GraphToken(token1, true);
409 final boolean condition = token.represent(token2);
410
411 Assert.assertTrue(condition);
412 }
413
414
415
416
417 @Test
418 public final void testToStringNotReserved() {
419 final String tokenIn = this.TABLENAME;
420 final String tokenOut = this.TABLENAME_DESC;
421
422 final GraphToken actualToken = new GraphToken(tokenIn, false);
423 final String actual = actualToken.toString();
424 final String expected = tokenOut;
425
426 Assert.assertEquals(expected, actual);
427 }
428
429
430
431
432 @Test
433 public final void testToStringReserved() {
434 final String tokenIn = this.CREATE;
435 final String tokenOut = "{create|R}";
436
437 final GraphToken actualToken = new GraphToken(tokenIn, true);
438 final String actual = actualToken.toString();
439 final String expected = tokenOut;
440
441 Assert.assertEquals(expected, actual);
442 }
443
444
445
446
447 @Test
448 public final void testToStringWithChildren() {
449 final String tokenIn = this.TABLENAME;
450 final String tokenIn1 = this.TABLENAME;
451 final String tokenOut = this.TABLENAME_DESC;
452
453 final GraphToken actualToken = new GraphToken(tokenIn, false);
454 final GraphToken actualToken1 = new GraphToken(tokenIn1, false);
455 actualToken.addWay(actualToken1);
456 final String actual = actualToken.toString();
457 final String expected = tokenOut;
458
459 Assert.assertEquals(expected, actual);
460 }
461
462 }