1
2
3
4 package test.net.sourceforge.pmd.dfa;
5
6 import static org.junit.Assert.assertTrue;
7 import net.sourceforge.pmd.PMD;
8 import net.sourceforge.pmd.ast.ASTMethodDeclarator;
9 import net.sourceforge.pmd.dfa.IDataFlowNode;
10
11 import org.junit.Test;
12
13 import test.net.sourceforge.pmd.testframework.ParserTst;
14
15 import java.util.List;
16 public class AcceptanceTest extends ParserTst {
17
18 @Test
19 public void testbook() throws Throwable {
20 getOrderedNodes(ASTMethodDeclarator.class, FOO);
21 }
22
23 private static final String FOO =
24 "class Foo {" + PMD.EOL +
25 " void bar() {" + PMD.EOL +
26 " int x = 2;" + PMD.EOL +
27 " }" + PMD.EOL +
28 "}";
29
30 @Test
31 public void testLabelledBreakLockup() throws Throwable {
32 getOrderedNodes(ASTMethodDeclarator.class, LABELLED_BREAK_LOCKUP);
33 }
34
35 private static final String LABELLED_BREAK_LOCKUP =
36 "class Foo {" + PMD.EOL +
37 " void bar(int x) {" + PMD.EOL +
38 " here: if (x>2) {" + PMD.EOL +
39 " break here;" + PMD.EOL +
40 " }" + PMD.EOL +
41 " }" + PMD.EOL +
42 "}";
43
44 private boolean check(int[][] array, List methodNodes) {
45 for (int i = 0; i < methodNodes.size(); i++) {
46 ASTMethodDeclarator decl = (ASTMethodDeclarator) methodNodes.get(i);
47 IDataFlowNode inode = decl.getDataFlowNode();
48 for (int j = 0; j < inode.getChildren().size(); j++) {
49 IDataFlowNode child = inode.getChildren().get(j);
50 if (array[i][j] != child.getIndex() - 1) {
51 return false;
52 }
53 }
54 }
55 return true;
56 }
57
58 @Test
59 public void test_1() throws Throwable {
60 assertTrue(check(TEST1_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST1)));
61 }
62
63 @Test
64 public void test_2() throws Throwable {
65 assertTrue(check(TEST2_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST2)));
66 }
67
68 @Test
69 public void test_3() throws Throwable {
70 assertTrue(check(TEST3_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST3)));
71 }
72
73 @Test
74 public void test_4() throws Throwable {
75 assertTrue(check(TEST4_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST4)));
76 }
77
78 @Test
79 public void test_6() throws Throwable {
80 assertTrue(check(TEST5_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST6)));
81 }
82
83 @Test
84 public void test_7() throws Throwable {
85 assertTrue(check(TEST5_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST7)));
86 }
87
88 @Test
89 public void test_8() throws Throwable {
90 assertTrue(check(TEST8_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST8)));
91 }
92
93 @Test
94 public void test_9() throws Throwable {
95 assertTrue(check(TEST5_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST9)));
96 }
97
98 @Test
99 public void test_10() throws Throwable {
100 assertTrue(check(TEST8_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST10)));
101 }
102
103 @Test
104 public void test_11() throws Throwable {
105 assertTrue(check(TEST8_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST11)));
106 }
107
108 @Test
109 public void test_12() throws Throwable {
110 assertTrue(check(TEST12_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST12)));
111 }
112
113 @Test
114 public void test_13() throws Throwable {
115 assertTrue(check(TEST13_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST13)));
116 }
117
118 @Test
119 public void test_14() throws Throwable {
120 assertTrue(check(TEST14_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST14)));
121 }
122
123 @Test
124 public void test_15() throws Throwable {
125 assertTrue(check(TEST15_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST15)));
126 }
127
128 @Test
129 public void test_16() throws Throwable {
130 assertTrue(check(TEST16_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST16)));
131 }
132
133 @Test
134 public void test_17() throws Throwable {
135 assertTrue(check(TEST17_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST17)));
136 }
137
138 @Test
139 public void test_18() throws Throwable {
140 assertTrue(check(TEST18_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST18)));
141 }
142
143 @Test
144 public void test_19() throws Throwable {
145 assertTrue(check(TEST19_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST19)));
146 }
147
148 @Test
149 public void test_20() throws Throwable {
150 assertTrue(check(TEST20_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST20)));
151 }
152
153 @Test
154 public void test_21() throws Throwable {
155 assertTrue(check(TEST21_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST21)));
156 }
157
158 @Test
159 public void test_22() throws Throwable {
160 assertTrue(check(TEST22_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST22)));
161 }
162
163 @Test
164 public void test_23() throws Throwable {
165 assertTrue(check(TEST23_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST23)));
166 }
167
168 @Test
169 public void test_24() throws Throwable {
170 assertTrue(check(TEST24_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST24)));
171 }
172
173 @Test
174 public void test_25() throws Throwable {
175 assertTrue(check(TEST25_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST25)));
176 }
177
178 @Test
179 public void test_26() throws Throwable {
180 assertTrue(check(TEST26_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST26)));
181 }
182
183 @Test
184 public void test_27() throws Throwable {
185 assertTrue(check(TEST27_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST27)));
186 }
187
188 @Test
189 public void test_28() throws Throwable {
190 assertTrue(check(TEST28_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST28)));
191 }
192
193 @Test
194 public void test_29() throws Throwable {
195 assertTrue(check(TEST29_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST29)));
196 }
197
198 @Test
199 public void test_30() throws Throwable {
200 assertTrue(check(TEST30_NODES, getOrderedNodes(ASTMethodDeclarator.class, TEST30)));
201 }
202
203
204
205 private static final int[][] TEST1_NODES = {
206 {1},
207 {2},
208 {3},
209 {4, 6},
210 {5},
211 {6},
212 {}
213 };
214
215 private static final String TEST1 =
216 "class Foo {" + PMD.EOL +
217 " void test_1() {" + PMD.EOL +
218 " int x = 0;" + PMD.EOL +
219 " if (x == 0) {" + PMD.EOL +
220 " x++;" + PMD.EOL +
221 " x = 0;" + PMD.EOL +
222 " }" + PMD.EOL +
223 " }" + PMD.EOL +
224 " }";
225
226 private static final int[][] TEST2_NODES = {
227 {1},
228 {2},
229 {3},
230 {5, 7},
231 {3},
232 {6},
233 {4},
234 {}
235 };
236
237 private static final String TEST2 =
238 "class Foo {" + PMD.EOL +
239 " public void test_2() {" + PMD.EOL +
240 " for (int i = 0; i < 1; i++) {" + PMD.EOL +
241 " i++;" + PMD.EOL +
242 " i = 8;" + PMD.EOL +
243 " }" + PMD.EOL +
244 " }" + PMD.EOL +
245 " }";
246
247 private static final int[][] TEST3_NODES = {
248 {1},
249 {2},
250 {3},
251 {4, 5},
252 {3},
253 {}
254 };
255
256 private static final String TEST3 =
257 "public class Foo {" + PMD.EOL +
258 " public void test_3() {" + PMD.EOL +
259 " for (int i = 0; i < 1; i++) {" + PMD.EOL +
260 " }" + PMD.EOL +
261 " }" + PMD.EOL +
262 " }";
263
264
265 private static final int[][] TEST4_NODES = {
266 {1},
267 {2},
268 {3},
269 {}
270 };
271
272 private static final String TEST4 =
273 "public class Foo {" + PMD.EOL +
274 " public void test_4() {" + PMD.EOL +
275 " for (; ;) {" + PMD.EOL +
276 " }" + PMD.EOL +
277 " }" + PMD.EOL +
278 " }";
279
280 private static final int[][] TEST5_NODES = {
281 {1},
282 {2},
283 {3},
284 {4},
285 {}
286 };
287
288 private static final String TEST6 =
289 "public class Foo {" + PMD.EOL +
290 " public void test_6() {" + PMD.EOL +
291 " for (int i = 0; ;) {" + PMD.EOL +
292 " }" + PMD.EOL +
293 " }" + PMD.EOL +
294 " }";
295
296 private static final String TEST7 =
297 "public class Foo {" + PMD.EOL +
298 " public void test_7() {" + PMD.EOL +
299 " for (int i = 0; i < 0;) {" + PMD.EOL +
300 " }" + PMD.EOL +
301 " }" + PMD.EOL +
302 " }";
303
304 private static final int[][] TEST8_NODES = {
305 {1},
306 {2},
307 {3},
308 {4, 5},
309 {3},
310 {}
311 };
312
313 public static final String TEST8 =
314 "public class Foo {" + PMD.EOL +
315 " public void test_8() {" + PMD.EOL +
316 " for (int i = 0; ; i++) {" + PMD.EOL +
317 " }" + PMD.EOL +
318 " }" + PMD.EOL +
319 " }";
320
321 public static final String TEST9 =
322 "public class Foo {" + PMD.EOL +
323 " public void test_9() {" + PMD.EOL +
324 " int i = 0;" + PMD.EOL +
325 " for (; i < 0;) {" + PMD.EOL +
326 " }" + PMD.EOL +
327 " }" + PMD.EOL +
328 " }";
329
330 public static final String TEST10 =
331 "public class Foo {" + PMD.EOL +
332 " public void test_10() {" + PMD.EOL +
333 " int i = 0;" + PMD.EOL +
334 " for (; i < 0; i++) {" + PMD.EOL +
335 " }" + PMD.EOL +
336 " }" + PMD.EOL +
337 " }";
338
339 public static final String TEST11 =
340 "public class Foo {" + PMD.EOL +
341 " public void test_11() {" + PMD.EOL +
342 " int i = 0;" + PMD.EOL +
343 " for (; ; i++) {" + PMD.EOL +
344 " }" + PMD.EOL +
345 " }" + PMD.EOL +
346 " }";
347
348 private static final int[][] TEST12_NODES = {
349 {1},
350 {2},
351 {3},
352 {4, 5},
353 {3},
354 {}
355 };
356 public static final String TEST12 =
357 "public class Foo {" + PMD.EOL +
358 " public void test_12() {" + PMD.EOL +
359 " for (; ;) {" + PMD.EOL +
360 " int i = 0;" + PMD.EOL +
361 " }" + PMD.EOL +
362 " }" + PMD.EOL +
363 " }";
364
365 private static final int[][] TEST13_NODES = {
366 {1},
367 {2},
368 {3},
369 {5, 9},
370 {3},
371 {6},
372 {7, 8},
373 {8},
374 {4},
375 {}
376 };
377 public static final String TEST13 =
378 "public class Foo {" + PMD.EOL +
379 " public void test_13() {" + PMD.EOL +
380 " for (int i = 0; i < 0; i++) {" + PMD.EOL +
381 " i = 9;" + PMD.EOL +
382 " if (i < 8) {" + PMD.EOL +
383 " i = 7;" + PMD.EOL +
384 " }" + PMD.EOL +
385 " i = 6;" + PMD.EOL +
386 " }" + PMD.EOL +
387 " }" + PMD.EOL +
388 " }";
389
390 private static final int[][] TEST14_NODES = {
391 {1},
392 {2},
393 {3},
394 {5, 8},
395 {3},
396 {6},
397 {7, 4},
398 {4},
399 {}
400 };
401 public static final String TEST14 =
402 "public class Foo {" + PMD.EOL +
403 " public void test_14() {" + PMD.EOL +
404 " for (int i = 0; i < 0; i++) {" + PMD.EOL +
405 " i = 9;" + PMD.EOL +
406 " if (i < 8) {" + PMD.EOL +
407 " i = 7;" + PMD.EOL +
408 " }" + PMD.EOL +
409 " }" + PMD.EOL +
410 " }" + PMD.EOL +
411 " }";
412
413 private static final int[][] TEST15_NODES = {
414 {1},
415 {2},
416 {3},
417 {5, 7},
418 {3},
419 {6, 4},
420 {4},
421 {}
422 };
423 public static final String TEST15 =
424 "public class Foo {" + PMD.EOL +
425 " public void test_15() {" + PMD.EOL +
426 " for (int i = 0; i < 0; i++) {" + PMD.EOL +
427 " if (i < 8) {" + PMD.EOL +
428 " i = 7;" + PMD.EOL +
429 " }" + PMD.EOL +
430 " }" + PMD.EOL +
431 " }" + PMD.EOL +
432 " }";
433
434 private static final int[][] TEST16_NODES = {
435 {1},
436 {2},
437 {3},
438 {5, 8},
439 {3},
440 {6, 7},
441 {4},
442 {4},
443 {}
444 };
445 public static final String TEST16 =
446 "public class Foo {" + PMD.EOL +
447 " public void test_16() {" + PMD.EOL +
448 " for (int i = 0; i < 0; i++) {" + PMD.EOL +
449 " if (i < 8) {" + PMD.EOL +
450 " i = 7;" + PMD.EOL +
451 " } else {" + PMD.EOL +
452 " i = 6;" + PMD.EOL +
453 " }" + PMD.EOL +
454 " }" + PMD.EOL +
455 " }" + PMD.EOL +
456 " }";
457
458 private static final int[][] TEST17_NODES = {
459 {1},
460 {2},
461 {3},
462 {5, 10},
463 {3},
464 {6, 7},
465 {4},
466 {8, 9},
467 {4},
468 {4},
469 {}
470 };
471 public static final String TEST17 =
472 "public class Foo {" + PMD.EOL +
473 " public void test_17() {" + PMD.EOL +
474 " for (int i = 0; i < 0; i++) {" + PMD.EOL +
475 " if (i < 6) {" + PMD.EOL +
476 " i = 7;" + PMD.EOL +
477 " } else if (i > 8) {" + PMD.EOL +
478 " i = 9;" + PMD.EOL +
479 " } else {" + PMD.EOL +
480 " i = 10;" + PMD.EOL +
481 " }" + PMD.EOL +
482 " }" + PMD.EOL +
483 " }" + PMD.EOL +
484 " }";
485
486 private static final int[][] TEST18_NODES = {
487 {1},
488 {2},
489 {3},
490 {5, 9},
491 {3},
492 {6},
493 {8, 4},
494 {6},
495 {7},
496 {}
497 };
498 public static final String TEST18 =
499 "public class Foo {" + PMD.EOL +
500 " public void test_18() {" + PMD.EOL +
501 " for (int i = 0; i < 0; i++) {" + PMD.EOL +
502 " for (int j = 0; j < 0; j++) {" + PMD.EOL +
503 " j++;" + PMD.EOL +
504 " }" + PMD.EOL +
505 " }" + PMD.EOL +
506 " }" + PMD.EOL +
507 " }";
508
509 private static final int[][] TEST19_NODES = {
510 {1},
511 {2},
512 {3},
513 {4, 5},
514 {10},
515 {6, 7},
516 {10},
517 {8, 9},
518 {10},
519 {10},
520 {}
521 };
522 public static final String TEST19 =
523 "public class Foo {" + PMD.EOL +
524 " public void test_19() {" + PMD.EOL +
525 " int i = 0;" + PMD.EOL +
526 " if (i == 1) {" + PMD.EOL +
527 " i = 2;" + PMD.EOL +
528 " } else if (i == 3) {" + PMD.EOL +
529 " i = 4;" + PMD.EOL +
530 " } else if (i == 5) {" + PMD.EOL +
531 " i = 6;" + PMD.EOL +
532 " } else {" + PMD.EOL +
533 " i = 7;" + PMD.EOL +
534 " }" + PMD.EOL +
535 " }" + PMD.EOL +
536 " }";
537
538 private static final int[][] TEST20_NODES = {
539 {1},
540 {2},
541 {3},
542 {4, 6},
543 {5, 7},
544 {7},
545 {7},
546 {}
547 };
548 public static final String TEST20 =
549 "public class Foo {" + PMD.EOL +
550 " public void test_20() {" + PMD.EOL +
551 " int i = 0;" + PMD.EOL +
552 " if (i == 1) {" + PMD.EOL +
553 " if (i == 2) {" + PMD.EOL +
554 " i = 3;" + PMD.EOL +
555 " }" + PMD.EOL +
556 " } else {" + PMD.EOL +
557 " i = 7;" + PMD.EOL +
558 " }" + PMD.EOL +
559 " }" + PMD.EOL +
560 " }";
561
562 private static final int[][] TEST21_NODES = {
563 {1},
564 {2},
565 {3},
566 {4, 9},
567 {5},
568 {7, 8},
569 {5},
570 {6},
571 {11},
572 {10, 11},
573 {11},
574 {}
575 };
576 public static final String TEST21 =
577 "public class Foo {" + PMD.EOL +
578 " public void test_21() {" + PMD.EOL +
579 " int i = 0;" + PMD.EOL +
580 " if (i == 1) {" + PMD.EOL +
581 " for (i = 3; i < 4; i++) {" + PMD.EOL +
582 " i = 5;" + PMD.EOL +
583 " }" + PMD.EOL +
584 " i++;" + PMD.EOL +
585 " } else if (i < 6) {" + PMD.EOL +
586 " i = 7;" + PMD.EOL +
587 " }" + PMD.EOL +
588 " }" + PMD.EOL +
589 " }";
590
591 private static final int[][] TEST22_NODES = {
592 {1},
593 {2},
594 {3},
595 {4, 8},
596 {5},
597 {7, 9},
598 {5},
599 {6},
600 {9},
601 {}
602 };
603 public static final String TEST22 =
604 "public class Foo {" + PMD.EOL +
605 " public void test_22() {" + PMD.EOL +
606 " int i = 0;" + PMD.EOL +
607 " if (i == 1) {" + PMD.EOL +
608 " for (i = 3; i < 4; i++) {" + PMD.EOL +
609 " i = 5;" + PMD.EOL +
610 " }" + PMD.EOL +
611 " } else {" + PMD.EOL +
612 " i = 7;" + PMD.EOL +
613 " }" + PMD.EOL +
614 " }" + PMD.EOL +
615 " }";
616
617 private static final int[][] TEST23_NODES = {
618 {1},
619 {2},
620 {3},
621 {4, 8},
622 {5},
623 {7, 10},
624 {5},
625 {6},
626 {9, 10},
627 {10},
628 {}
629 };
630 public static final String TEST23 =
631 "public class Foo {" + PMD.EOL +
632 " public void test_23() {" + PMD.EOL +
633 " int i = 0;" + PMD.EOL +
634 " if (i == 1) {" + PMD.EOL +
635 " for (i = 3; i < 4; i++) {" + PMD.EOL +
636 " i = 5;" + PMD.EOL +
637 " }" + PMD.EOL +
638 " } else if (i < 6) {" + PMD.EOL +
639 " i = 7;" + PMD.EOL +
640 " }" + PMD.EOL +
641 " }" + PMD.EOL +
642 " }";
643
644 private static final int[][] TEST24_NODES = {
645 {1},
646 {2},
647 {3},
648 {4, 9},
649 {5},
650 {7, 11},
651 {5},
652 {8, 6},
653 {6},
654 {10, 11},
655 {11},
656 {}
657 };
658 public static final String TEST24 =
659 "public class Foo {" + PMD.EOL +
660 " public void test_24() {" + PMD.EOL +
661 " int x = 0;" + PMD.EOL +
662 " if (x > 2) {" + PMD.EOL +
663 " for (int i = 0; i < 1; i++) {" + PMD.EOL +
664 " if (x > 3) {" + PMD.EOL +
665 " x++;" + PMD.EOL +
666 " }" + PMD.EOL +
667 " }" + PMD.EOL +
668 " } else if (x > 4) {" + PMD.EOL +
669 " x++;" + PMD.EOL +
670 " }" + PMD.EOL +
671 " }" + PMD.EOL +
672 " }";
673
674 private static final int[][] TEST25_NODES = {
675 {1},
676 {2},
677 {3},
678 {4, 5},
679 {5},
680 {}
681 };
682 public static final String TEST25 =
683 "public class Foo {" + PMD.EOL +
684 " public void test_25() {" + PMD.EOL +
685 " int x = 0;" + PMD.EOL +
686 " switch (x) {" + PMD.EOL +
687 " default:" + PMD.EOL +
688 " x = 9;" + PMD.EOL +
689 " }" + PMD.EOL +
690 " }" + PMD.EOL +
691 " }";
692
693 private static final int[][] TEST26_NODES = {
694 {1},
695 {2},
696 {3},
697 {4},
698 {5, 6},
699 {6},
700 {7},
701 {8, 3},
702 {9},
703 {}
704 };
705 public static final String TEST26 =
706 "public class Foo {" + PMD.EOL +
707 " public void test_26() {" + PMD.EOL +
708 " int x = 0;" + PMD.EOL +
709 " do {" + PMD.EOL +
710 " if (x > 0) {" + PMD.EOL +
711 " x++;" + PMD.EOL +
712 " }" + PMD.EOL +
713 " x++;" + PMD.EOL +
714 " } while (x < 9);" + PMD.EOL +
715 " x++;" + PMD.EOL +
716 " }" + PMD.EOL +
717 " }";
718
719 private static final int[][] TEST27_NODES = {
720 {1},
721 {2},
722 {3},
723 {5, 9},
724 {3},
725 {6},
726 {7},
727 {8},
728 {6, 4},
729 {}
730 };
731 public static final String TEST27 =
732 "public class Foo {" + PMD.EOL +
733 " public void test_27() {" + PMD.EOL +
734 " for (int i = 0; i < 36; i++) {" + PMD.EOL +
735 " int x = 0;" + PMD.EOL +
736 " do {" + PMD.EOL +
737 " x++;" + PMD.EOL +
738 " } while (x < 9);" + PMD.EOL +
739 " }" + PMD.EOL +
740 " }" + PMD.EOL +
741 " }";
742
743 private static final int[][] TEST28_NODES = {
744 {1},
745 {2},
746 {3},
747 {5, 14},
748 {3},
749 {6},
750 {7},
751 {8, 12},
752 {9},
753 {10, 12},
754 {11},
755 {12},
756 {13},
757 {6, 4},
758 {}
759 };
760 public static final String TEST28 =
761 "public class Foo {" + PMD.EOL +
762 " private void test_28() {" + PMD.EOL +
763 " for (int i = 0; i < 36; i++) {" + PMD.EOL +
764 " int x = 0;" + PMD.EOL +
765 " do {" + PMD.EOL +
766 " if (x > 0) {" + PMD.EOL +
767 " x++;" + PMD.EOL +
768 " switch (i) {" + PMD.EOL +
769 " case 0:" + PMD.EOL +
770 " x = 0;" + PMD.EOL +
771 " break;" + PMD.EOL +
772 " }" + PMD.EOL +
773 " }" + PMD.EOL +
774 " x++;" + PMD.EOL +
775 " } while (x < 9);" + PMD.EOL +
776 " }" + PMD.EOL +
777 " }" + PMD.EOL +
778 " }";
779
780 private static final int[][] TEST29_NODES = {
781 {1},
782 {2},
783 {3, 4, 5},
784 {6},
785 {6},
786 {6},
787 {}
788
789 };
790 public static final String TEST29 =
791 "public class Foo {" + PMD.EOL +
792 " private void test_29() {" + PMD.EOL +
793 " switch(x) {" + PMD.EOL +
794 " case 1:" + PMD.EOL +
795 " break; " + PMD.EOL +
796 " default: " + PMD.EOL +
797 " break;" + PMD.EOL +
798 " case 2:" + PMD.EOL +
799 " break;" + PMD.EOL +
800 " }" + PMD.EOL +
801 " }" + PMD.EOL +
802 "}";
803
804 private static final int[][] TEST30_NODES = {
805 {1},
806 {2},
807 {3},
808 {4, 7},
809 {5, 6},
810 {4},
811 {3},
812 {}
813 };
814 public static final String TEST30 =
815 "public class Foo {" + PMD.EOL +
816 " private void test_30() {" + PMD.EOL +
817 " int x = 0;" + PMD.EOL +
818 " while (true) {" + PMD.EOL +
819 " while (x>0) {" + PMD.EOL +
820 " x++;" + PMD.EOL +
821 " }" + PMD.EOL +
822 " continue;" + PMD.EOL +
823 " }" + PMD.EOL +
824 " }" + PMD.EOL +
825 "}";
826
827 public static junit.framework.Test suite() {
828 return new junit.framework.JUnit4TestAdapter(AcceptanceTest.class);
829 }
830 }