View Javadoc
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   * Tests some methods of {@link Token}s.
43   */
44  public class TokenTest {
45  	
46  	/**
47  	 * Tests {@link Position}s are not equal.
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  	 * Tests hashCode() of {@link Position}.
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  	 * Tests isKeywordToken() with <code>true</code> and <code>false</code>.
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  	 * Tests isOperationToken() with <code>true</code> and <code>false</code>.
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  	 * Tests isAbstractOperationToken() with <code>true</code> and <code>false</code>.
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 	 * Tests isAttributeModifierToken() with <code>true</code> and <code>false</code>.
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 	 * Tests isInvalidToken() with <code>true</code> and <code>false</code>.
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 	 * Tests isSymbolToken() with <code>true</code> and <code>false</code>.
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 	 * Tests isHyphenToken() with <code>true</code> and <code>false</code>.
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 	 * Tests isPipeToken() with <code>true</code> and <code>false</code>.
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 	 * Tests isSymmetricToken() with <code>true</code> and <code>false</code>.
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 	 * Tests some simple methods of {@link OperationToken}.
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 	 * Tests some simple methods of {@link VisitableToken}.
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 	 * Tests some simple methods of {@link ExceptionToken}.
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 	 * Tests some simple methods of {@link FindableToken}.
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 	 * Tests some simple methods of {@link MutableToken}.
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 	 * Tests some simple methods of {@link ServiceToken}.
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 	 * Tests some simple methods of {@link SymmetricToken}.
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 	 * Tests some simple methods of {@link TransientToken}.
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 	 * Tests some simple methods of {@link AbstractToken}.
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 	 * Tests some simple methods of {@link ClassToken}.
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 	 * Tests some simple methods of {@link GroupToken}.
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 	 * Tests some simple methods of {@link PriorToken}.
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 	 * Tests some simple methods of {@link CommaToken}.
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 	 * Tests some simple methods of {@link PipeToken}.
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 	 * Tests some simple methods of {@link HyphenToken}.
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 	 * Tests some simple methods of {@link BracketOpenToken}.
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 	 * Tests some simple methods of {@link ArrowToken}.
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 	 * Tests some simple methods of {@link AsteriskToken}.
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 	 * Tests some simple methods of {@link BracketCloseToken}.
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 	 * Tests some simple methods of {@link ColonToken}.
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 	 * Tests some simple methods of {@link CurlyBracketCloseToken}.
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 	 * Tests some simple methods of {@link CurlyBracketOpenToken}.
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 	 * Tests some simple methods of {@link DoubleSquareBracketCloseToken}.
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 	 * Tests some simple methods of {@link DoubleSquareBracketOpenToken}.
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 	 * Tests some simple methods of {@link EqualToken}.
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 	 * Tests some simple methods of {@link GreaterSymbolToken}.
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 	 * Tests some simple methods of {@link PlusSymbolToken}.
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 	 * Tests some simple methods of {@link SemicolonToken}.
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 	 * Tests some simple methods of {@link SquareBracketCloseToken}.
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 	 * Tests some simple methods of {@link SquareBracketOpenToken}.
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 }