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