1 package de.fhdw.wtf.common.token;
2
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertFalse;
5 import static org.junit.Assert.assertNotEquals;
6 import static org.junit.Assert.assertTrue;
7
8 import org.junit.Test;
9
10 import de.fhdw.wtf.common.token.keywords.AbstractToken;
11 import de.fhdw.wtf.common.token.keywords.ClassToken;
12 import de.fhdw.wtf.common.token.keywords.ExceptionToken;
13 import de.fhdw.wtf.common.token.keywords.FindableToken;
14 import de.fhdw.wtf.common.token.keywords.GroupToken;
15 import de.fhdw.wtf.common.token.keywords.MutableToken;
16 import de.fhdw.wtf.common.token.keywords.OperationToken;
17 import de.fhdw.wtf.common.token.keywords.PriorToken;
18 import de.fhdw.wtf.common.token.keywords.ServiceToken;
19 import de.fhdw.wtf.common.token.keywords.SymmetricToken;
20 import de.fhdw.wtf.common.token.keywords.TransientToken;
21 import de.fhdw.wtf.common.token.keywords.VisitableToken;
22 import de.fhdw.wtf.common.token.symbols.ArrowToken;
23 import de.fhdw.wtf.common.token.symbols.AsteriskToken;
24 import de.fhdw.wtf.common.token.symbols.BracketCloseToken;
25 import de.fhdw.wtf.common.token.symbols.BracketOpenToken;
26 import de.fhdw.wtf.common.token.symbols.ColonToken;
27 import de.fhdw.wtf.common.token.symbols.CommaToken;
28 import de.fhdw.wtf.common.token.symbols.CurlyBracketCloseToken;
29 import de.fhdw.wtf.common.token.symbols.CurlyBracketOpenToken;
30 import de.fhdw.wtf.common.token.symbols.DoubleSquareBracketCloseToken;
31 import de.fhdw.wtf.common.token.symbols.DoubleSquareBracketOpenToken;
32 import de.fhdw.wtf.common.token.symbols.EqualToken;
33 import de.fhdw.wtf.common.token.symbols.GreaterSymbolToken;
34 import de.fhdw.wtf.common.token.symbols.HyphenToken;
35 import de.fhdw.wtf.common.token.symbols.PipeToken;
36 import de.fhdw.wtf.common.token.symbols.PlusSymbolToken;
37 import de.fhdw.wtf.common.token.symbols.SemicolonToken;
38 import de.fhdw.wtf.common.token.symbols.SquareBracketCloseToken;
39 import de.fhdw.wtf.common.token.symbols.SquareBracketOpenToken;
40
41
42
43
44 public class TokenTest {
45
46
47
48
49 @Test
50 public void testPositionNotEquals() {
51 final Position position1 = Position.create("", 3, 3, 0);
52 final Position position2 = Position.create("", 3, 3, 1);
53
54 assertNotEquals(position1, position2);
55
56 }
57
58
59
60
61 @Test
62 public void testPositionHashCode() {
63 final Position position1 = Position.create("file1", 333, 546, 2);
64 final Position position2 = Position.create("file1", 333, 546, 2);
65
66 assertEquals(position1, position2);
67 assertEquals(position1.hashCode(), position2.hashCode());
68
69 }
70
71
72
73
74 @Test
75 public void testIsKeywordToken() {
76 final ColonToken colonToken = ColonToken.create(Position.createDummyPosition());
77 assertFalse(colonToken.isKeywordToken());
78 assertTrue(colonToken.isColonToken());
79
80 final ClassToken classToken = ClassToken.create(Position.createDummyPosition());
81 assertTrue(classToken.isKeywordToken());
82 }
83
84
85
86
87 @Test
88 public void testIsOperationToken() {
89 final OperationToken operationToken = OperationToken.create(Position.createDummyPosition());
90 assertTrue(operationToken.isOperationToken());
91
92 final ClassToken classToken = ClassToken.create(Position.createDummyPosition());
93 assertFalse(classToken.isOperationToken());
94 }
95
96
97
98
99 @Test
100 public void testIsAbstractOperationToken() {
101 final AbstractToken abstractToken = AbstractToken.create(Position.createDummyPosition());
102 assertTrue(abstractToken.isAbstractOperationToken());
103
104 final ColonToken colonToken = ColonToken.create(Position.createDummyPosition());
105 assertFalse(colonToken.isAbstractOperationToken());
106 }
107
108
109
110
111 @Test
112 public void testIsAttributeModifierToken() {
113 final PriorToken priorToken = PriorToken.create(Position.createDummyPosition());
114 assertTrue(priorToken.isAttributeModifierToken());
115
116 final ColonToken colonToken = ColonToken.create(Position.createDummyPosition());
117 assertFalse(colonToken.isAttributeModifierToken());
118 }
119
120
121
122
123 @Test
124 public void testIsInvalidToken() {
125 final InvalidToken invalidToken = InvalidToken.create('z', Position.createDummyPosition());
126 assertTrue(invalidToken.isInvalidToken());
127
128 final ColonToken colonToken = ColonToken.create(Position.createDummyPosition());
129 assertFalse(colonToken.isInvalidToken());
130 }
131
132
133
134
135 @Test
136 public void testIsSymbolToken() {
137 final SquareBracketOpenToken sbot = SquareBracketOpenToken.create(Position.createDummyPosition());
138 assertTrue(sbot.isSymbolToken());
139
140 final ClassToken classToken = ClassToken.create(Position.createDummyPosition());
141 assertFalse(classToken.isSymbolToken());
142 }
143
144
145
146
147 @Test
148 public void testIsHyphenToken() {
149 final HyphenToken hyphenToken = HyphenToken.create(Position.createDummyPosition());
150 assertTrue(hyphenToken.isHyphenToken());
151
152 final ColonToken colonToken = ColonToken.create(Position.createDummyPosition());
153 assertFalse(colonToken.isHyphenToken());
154 }
155
156
157
158
159 @Test
160 public void testIsPipeToken() {
161 final PipeToken pipeToken = PipeToken.create(Position.createDummyPosition());
162 assertTrue(pipeToken.isPipeToken());
163
164 final ColonToken colonToken = ColonToken.create(Position.createDummyPosition());
165 assertFalse(colonToken.isPipeToken());
166 }
167
168
169
170
171 @Test
172 public void testIsSymmetricToken() {
173 final SymmetricToken symmetricToken = SymmetricToken.create(Position.createDummyPosition());
174 assertTrue(symmetricToken.isSymmetricToken());
175
176 final ColonToken colonToken = ColonToken.create(Position.createDummyPosition());
177 assertFalse(colonToken.isSymmetricToken());
178 }
179
180
181
182
183 @Test
184 public void testOperationToken() {
185 final Position position = Position.create("", 3, 4, 5);
186 final OperationToken operationToken = OperationToken.create(position);
187 assertEquals(8, operationToken.getLength());
188 assertEquals("function", operationToken.stringRepresentation());
189
190 final OperationToken otherOperationToken = OperationToken.create(position);
191 assertEquals(operationToken, otherOperationToken);
192 assertEquals(operationToken.hashCode(), otherOperationToken.hashCode());
193 }
194
195
196
197
198 @Test
199 public void testVisitableToken() {
200 final Position position = Position.create("", 3, 4, 5);
201 final VisitableToken visitableToken = VisitableToken.create(position);
202 assertEquals(9, visitableToken.getLength());
203 assertEquals("visitable", visitableToken.stringRepresentation());
204
205 final VisitableToken otherVisitableToken = VisitableToken.create(position);
206 assertEquals(visitableToken, otherVisitableToken);
207 assertEquals(visitableToken.hashCode(), otherVisitableToken.hashCode());
208 }
209
210
211
212
213 @Test
214 public void testExceptionToken() {
215 final Position position = Position.create("", 3, 4, 5);
216 final ExceptionToken exceptionToken = ExceptionToken.create(position);
217 assertEquals(9, exceptionToken.getLength());
218 assertEquals("exception", exceptionToken.stringRepresentation());
219
220 final ExceptionToken otherExceptionToken = ExceptionToken.create(position);
221 assertEquals(exceptionToken, otherExceptionToken);
222 assertEquals(exceptionToken.hashCode(), otherExceptionToken.hashCode());
223 }
224
225
226
227
228 @Test
229 public void testFindableToken() {
230 final Position position = Position.create("", 3, 4, 5);
231 final FindableToken findableToken = FindableToken.create(position);
232 assertEquals(8, findableToken.getLength());
233 assertEquals("findable", findableToken.stringRepresentation());
234
235 final FindableToken otherFindableToken = FindableToken.create(position);
236 assertEquals(findableToken, otherFindableToken);
237 assertEquals(findableToken.hashCode(), otherFindableToken.hashCode());
238 }
239
240
241
242
243 @Test
244 public void testMutableToken() {
245 final Position position = Position.create("", 3, 4, 5);
246 final MutableToken mutableToken = MutableToken.create(position);
247 assertEquals(7, mutableToken.getLength());
248 assertEquals("mutable", mutableToken.stringRepresentation());
249
250 final MutableToken otherMutableToken = MutableToken.create(position);
251 assertEquals(mutableToken, otherMutableToken);
252 assertEquals(mutableToken.hashCode(), otherMutableToken.hashCode());
253 }
254
255
256
257
258 @Test
259 public void testServiceToken() {
260 final Position position = Position.create("", 3, 4, 5);
261 final ServiceToken serviceToken = ServiceToken.create(position);
262 assertEquals(7, serviceToken.getLength());
263 assertEquals("service", serviceToken.stringRepresentation());
264
265 final ServiceToken otherServiceToken = ServiceToken.create(position);
266 assertEquals(serviceToken, otherServiceToken);
267 assertEquals(serviceToken.hashCode(), otherServiceToken.hashCode());
268 }
269
270
271
272
273 @Test
274 public void testSymmetricToken() {
275 final Position position = Position.create("", 3, 4, 5);
276 final SymmetricToken symmetricToken = SymmetricToken.create(position);
277 assertEquals(9, symmetricToken.getLength());
278 assertEquals("symmetric", symmetricToken.stringRepresentation());
279
280 final SymmetricToken otherSymmetricToken = SymmetricToken.create(position);
281 assertEquals(symmetricToken, otherSymmetricToken);
282 assertEquals(symmetricToken.hashCode(), otherSymmetricToken.hashCode());
283 }
284
285
286
287
288 @Test
289 public void testTransientToken() {
290 final Position position = Position.create("", 3, 4, 5);
291 final TransientToken transientToken = TransientToken.create(position);
292 assertEquals(9, transientToken.getLength());
293 assertEquals("transient", transientToken.stringRepresentation());
294
295 final TransientToken otherTransientToken = TransientToken.create(position);
296 assertEquals(transientToken, otherTransientToken);
297 assertEquals(transientToken.hashCode(), otherTransientToken.hashCode());
298 }
299
300
301
302
303 @Test
304 public void testAbstractToken() {
305 final Position position = Position.create("", 3, 4, 5);
306 final AbstractToken abstractToken = AbstractToken.create(position);
307 assertEquals(8, abstractToken.getLength());
308 assertEquals("abstract", abstractToken.stringRepresentation());
309
310 final AbstractToken otherAbstractToken = AbstractToken.create(position);
311 assertEquals(abstractToken, otherAbstractToken);
312 assertEquals(abstractToken.hashCode(), otherAbstractToken.hashCode());
313 }
314
315
316
317
318 @Test
319 public void testClassToken() {
320 final Position position = Position.create("", 3, 4, 5);
321 final ClassToken classToken = ClassToken.create(position);
322 assertEquals(5, classToken.getLength());
323 assertEquals("class", classToken.stringRepresentation());
324
325 final ClassToken otherClassToken = ClassToken.create(position);
326 assertEquals(classToken, otherClassToken);
327 assertEquals(classToken.hashCode(), otherClassToken.hashCode());
328 }
329
330
331
332
333 @Test
334 public void testGroupToken() {
335 final Position position = Position.create("", 3, 4, 5);
336 final GroupToken groupToken = GroupToken.create(position);
337 assertEquals(5, groupToken.getLength());
338 assertEquals("group", groupToken.stringRepresentation());
339
340 final GroupToken otherGroupToken = GroupToken.create(position);
341 assertEquals(groupToken, otherGroupToken);
342 assertEquals(groupToken.hashCode(), otherGroupToken.hashCode());
343 }
344
345
346
347
348 @Test
349 public void testPriorToken() {
350 final Position position = Position.create("", 3, 4, 5);
351 final PriorToken priorToken = PriorToken.create(position);
352 assertEquals(5, priorToken.getLength());
353 assertEquals("prior", priorToken.stringRepresentation());
354
355 final PriorToken otherPriorToken = PriorToken.create(position);
356 assertEquals(priorToken, otherPriorToken);
357 assertEquals(priorToken.hashCode(), otherPriorToken.hashCode());
358 }
359
360
361
362
363 @Test
364 public void testCommaToken() {
365 final Position position = Position.createDummyPosition();
366 final CommaToken commaToken = CommaToken.create(position);
367 assertEquals(",", commaToken.stringRepresentation());
368
369 final CommaToken otherCommaToken = CommaToken.create(position);
370 assertEquals(commaToken, otherCommaToken);
371 assertEquals(commaToken.hashCode(), otherCommaToken.hashCode());
372 }
373
374
375
376
377 @Test
378 public void testPipeToken() {
379 final Position position = Position.createDummyPosition();
380 final PipeToken pipeToken = PipeToken.create(position);
381 assertEquals("|", pipeToken.stringRepresentation());
382
383 final PipeToken otherPipeToken = PipeToken.create(position);
384 assertEquals(pipeToken, otherPipeToken);
385 assertEquals(pipeToken.hashCode(), otherPipeToken.hashCode());
386 }
387
388
389
390
391 @Test
392 public void testHyphenToken() {
393 final Position position = Position.createDummyPosition();
394 final HyphenToken hyphenToken = HyphenToken.create(position);
395 assertEquals("-", hyphenToken.stringRepresentation());
396
397 final HyphenToken otherHyphenToken = HyphenToken.create(position);
398 assertEquals(hyphenToken, otherHyphenToken);
399 assertEquals(hyphenToken.hashCode(), otherHyphenToken.hashCode());
400 }
401
402
403
404
405 @Test
406 public void testBracketOpenToken() {
407 final Position position = Position.createDummyPosition();
408 final BracketOpenToken bracketOpenToken = BracketOpenToken.create(position);
409 assertEquals("(", bracketOpenToken.stringRepresentation());
410
411 final BracketOpenToken otherBracketOpenToken = BracketOpenToken.create(position);
412 assertEquals(bracketOpenToken, otherBracketOpenToken);
413 assertEquals(bracketOpenToken.hashCode(), otherBracketOpenToken.hashCode());
414 }
415
416
417
418
419 @Test
420 public void testArrowToken() {
421 final Position position = Position.createDummyPosition();
422 final ArrowToken arrowToken = ArrowToken.create(position);
423 assertEquals("->", arrowToken.stringRepresentation());
424
425 final ArrowToken otherArrowToken = ArrowToken.create(position);
426 assertEquals(arrowToken, otherArrowToken);
427 assertEquals(arrowToken.hashCode(), otherArrowToken.hashCode());
428 }
429
430
431
432
433 @Test
434 public void testAsteriskToken() {
435 final Position position = Position.createDummyPosition();
436 final AsteriskToken asteriskToken = AsteriskToken.create(position);
437 assertEquals("*", asteriskToken.stringRepresentation());
438
439 final AsteriskToken otherAsteriskToken = AsteriskToken.create(position);
440 assertEquals(asteriskToken, otherAsteriskToken);
441 assertEquals(asteriskToken.hashCode(), otherAsteriskToken.hashCode());
442 }
443
444
445
446
447 @Test
448 public void testBracketCloseToken() {
449 final Position position = Position.createDummyPosition();
450 final BracketCloseToken bracketCloseToken = BracketCloseToken.create(position);
451 assertEquals(")", bracketCloseToken.stringRepresentation());
452
453 final BracketCloseToken otherBracketCloseToken = BracketCloseToken.create(position);
454 assertEquals(bracketCloseToken, otherBracketCloseToken);
455 assertEquals(bracketCloseToken.hashCode(), otherBracketCloseToken.hashCode());
456 }
457
458
459
460
461 @Test
462 public void testColonToken() {
463 final Position position = Position.createDummyPosition();
464 final ColonToken colonToken = ColonToken.create(position);
465 assertEquals(":", colonToken.stringRepresentation());
466
467 final ColonToken otherColonToken = ColonToken.create(position);
468 assertEquals(colonToken, otherColonToken);
469 assertEquals(colonToken.hashCode(), otherColonToken.hashCode());
470 }
471
472
473
474
475 @Test
476 public void testCurlyBracketCloseToken() {
477 final Position position = Position.createDummyPosition();
478 final CurlyBracketCloseToken curlyBracketCloseToken = CurlyBracketCloseToken.create(position);
479 assertEquals("}", curlyBracketCloseToken.stringRepresentation());
480
481 final CurlyBracketCloseToken otherCurlyBracketCloseToken = CurlyBracketCloseToken.create(position);
482 assertEquals(curlyBracketCloseToken, otherCurlyBracketCloseToken);
483 assertEquals(curlyBracketCloseToken.hashCode(), otherCurlyBracketCloseToken.hashCode());
484 }
485
486
487
488
489 @Test
490 public void testCurlyBracketOpenToken() {
491 final Position position = Position.createDummyPosition();
492 final CurlyBracketOpenToken curlyBracketOpenToken = CurlyBracketOpenToken.create(position);
493 assertEquals("{", curlyBracketOpenToken.stringRepresentation());
494
495 final CurlyBracketOpenToken otherCurlyBracketOpenToken = CurlyBracketOpenToken.create(position);
496 assertEquals(curlyBracketOpenToken, otherCurlyBracketOpenToken);
497 assertEquals(curlyBracketOpenToken.hashCode(), otherCurlyBracketOpenToken.hashCode());
498 }
499
500
501
502
503 @Test
504 public void testDoubleSquareBracketCloseToken() {
505 final Position position = Position.createDummyPosition();
506 final DoubleSquareBracketCloseToken doubleSquareBracketCloseToken =
507 DoubleSquareBracketCloseToken.create(position);
508 assertEquals("]]", doubleSquareBracketCloseToken.stringRepresentation());
509
510 final DoubleSquareBracketCloseToken otherDoubleSquareBracketCloseToken =
511 DoubleSquareBracketCloseToken.create(position);
512 assertEquals(doubleSquareBracketCloseToken, otherDoubleSquareBracketCloseToken);
513 assertEquals(doubleSquareBracketCloseToken.hashCode(), otherDoubleSquareBracketCloseToken.hashCode());
514 }
515
516
517
518
519 @Test
520 public void testDoubleSquareBracketOpenToken() {
521 final Position position = Position.createDummyPosition();
522 final DoubleSquareBracketOpenToken doubleSquareBracketOpenToken = DoubleSquareBracketOpenToken.create(position);
523 assertEquals("[[", doubleSquareBracketOpenToken.stringRepresentation());
524
525 final DoubleSquareBracketOpenToken otherDoubleSquareBracketOpenToken =
526 DoubleSquareBracketOpenToken.create(position);
527 assertEquals(doubleSquareBracketOpenToken, otherDoubleSquareBracketOpenToken);
528 assertEquals(doubleSquareBracketOpenToken.hashCode(), otherDoubleSquareBracketOpenToken.hashCode());
529 }
530
531
532
533
534 @Test
535 public void testEqualToken() {
536 final Position position = Position.createDummyPosition();
537 final EqualToken equalToken = EqualToken.create(position);
538 assertEquals("=", equalToken.stringRepresentation());
539
540 final EqualToken otherEqualToken = EqualToken.create(position);
541 assertEquals(equalToken, otherEqualToken);
542 assertEquals(equalToken.hashCode(), otherEqualToken.hashCode());
543 }
544
545
546
547
548 @Test
549 public void testGreaterSymbolToken() {
550 final Position position = Position.createDummyPosition();
551 final GreaterSymbolToken greaterSymbolToken = GreaterSymbolToken.create(position);
552 assertEquals(">", greaterSymbolToken.stringRepresentation());
553
554 final GreaterSymbolToken otherGreaterSymbolToken = GreaterSymbolToken.create(position);
555 assertEquals(greaterSymbolToken, otherGreaterSymbolToken);
556 assertEquals(greaterSymbolToken.hashCode(), otherGreaterSymbolToken.hashCode());
557 }
558
559
560
561
562 @Test
563 public void testPlusSymbolToken() {
564 final Position position = Position.createDummyPosition();
565 final PlusSymbolToken plusSymbolToken = PlusSymbolToken.create(position);
566 assertEquals("+", plusSymbolToken.stringRepresentation());
567
568 final PlusSymbolToken otherPlusSymbolToken = PlusSymbolToken.create(position);
569 assertEquals(plusSymbolToken, otherPlusSymbolToken);
570 assertEquals(plusSymbolToken.hashCode(), otherPlusSymbolToken.hashCode());
571 }
572
573
574
575
576 @Test
577 public void testSemicolonToken() {
578 final Position position = Position.createDummyPosition();
579 final SemicolonToken semicolonToken = SemicolonToken.create(position);
580 assertEquals(";", semicolonToken.stringRepresentation());
581
582 final SemicolonToken otherSemicolonToken = SemicolonToken.create(position);
583 assertEquals(semicolonToken, otherSemicolonToken);
584 assertEquals(semicolonToken.hashCode(), otherSemicolonToken.hashCode());
585 }
586
587
588
589
590 @Test
591 public void testSquareBracketCloseToken() {
592 final Position position = Position.createDummyPosition();
593 final SquareBracketCloseToken squareBracketCloseToken = SquareBracketCloseToken.create(position);
594 assertEquals("]", squareBracketCloseToken.stringRepresentation());
595
596 final SquareBracketCloseToken otherSquareBracketCloseToken = SquareBracketCloseToken.create(position);
597 assertEquals(squareBracketCloseToken, otherSquareBracketCloseToken);
598 assertEquals(squareBracketCloseToken.hashCode(), otherSquareBracketCloseToken.hashCode());
599 }
600
601
602
603
604 @Test
605 public void testSquareBracketOpenToken() {
606 final Position position = Position.createDummyPosition();
607 final SquareBracketOpenToken squareBracketOpenToken = SquareBracketOpenToken.create(position);
608 assertEquals("[", squareBracketOpenToken.stringRepresentation());
609
610 final SquareBracketOpenToken otherSquareBracketOpenToken = SquareBracketOpenToken.create(position);
611 assertEquals(squareBracketOpenToken, otherSquareBracketOpenToken);
612 assertEquals(squareBracketOpenToken.hashCode(), otherSquareBracketOpenToken.hashCode());
613 }
614
615 }