File path: /jakarta-jmeter-2.3.2/test/src/org/apache/jmeter/control/TestOnceOnlyController.java | File path: /jakarta-jmeter-2.3.2/test/src/org/apache/jmeter/control/TestOnceOnlyController.java | |||
Method name: void testProcessing()
|
Method name: void testProcessing2()
|
|||
Number of AST nodes: 34 | Number of AST nodes: 35 | |||
1 | GenericController controller = new GenericController();↵ | 1 | GenericController controller = new GenericController();↵ | |
2 | GenericController sub_1 = new OnceOnlyController();↵ | 2 | GenericController sub_1 = new OnceOnlyController();↵ | |
3 | sub_1.addTestElement(new TestSampler("one"));↵ | 3 | sub_1.addTestElement(new TestSampler("one"));↵ | |
4 | sub_1.addTestElement(new TestSampler("two"));↵ | 4 | sub_1.addTestElement(new TestSampler("two"));↵ | |
5 | controller.addTestElement(sub_1);↵ | 5 | controller.addTestElement(sub_1);↵ | |
6 | controller.addTestElement(new TestSampler("three"));↵ | 6 | controller.addTestElement(new TestSampler("three"));↵ | |
7 | LoopController sub_2 = new LoopController();↵ | 7 | LoopController sub_2 = new LoopController();↵ | |
8 | sub_2.setLoops(3);↵ | 8 | sub_2.setLoops(3);↵ | |
9 | GenericController sub_3 = new GenericController();↵ | 9 | OnceOnlyController sub_3 = new OnceOnlyController();↵ | |
10 | sub_2.addTestElement(new TestSampler("four"));↵ | 10 | sub_2.addTestElement(new TestSampler("four"));↵ | |
11 | sub_3.addTestElement(new TestSampler("five"));↵ | 11 | sub_3.addTestElement(new TestSampler("five"));↵ | |
12 | sub_3.addTestElement(new TestSampler("six"));↵ | 12 | sub_3.addTestElement(new TestSampler("six"));↵ | |
13 | sub_2.addTestElement(sub_3);↵ | 13 | sub_2.addTestElement(sub_3);↵ | |
14 | ↵ | 14 | sub_2.addIterationListener(sub_3);↵ | |
15 | sub_2.addTestElement(new TestSampler("seven"));↵ | 15 | sub_2.addTestElement(new TestSampler("seven"));↵ | |
16 | controller.addTestElement(sub_2);↵ | 16 | controller.addTestElement(sub_2);↵ | |
17 | String[] interleaveOrder = new String[] { "one", "two" };↵ | 17 | String[] interleaveOrder = new String[] { "one", "two" };↵ | |
18 | String[] order = new String[] { "", "", "three", "four", "five", "six", "seven", "four", "five", "six",↵ | 18 | String[] order = new String[] { "", "", "three", "four", "five", "six", "seven", "four", "↵ | |
19 | "seven", "four", "five", "six", ↵ | 19 | seven", "four",↵ | |
20 | "seven" };↵ | 20 | "seven" };↵ | |
21 | int counter = 15;↵ | 21 | int counter = 11;↵ | |
22 | controller.setRunningVersion(true);↵ | 22 | controller.setRunningVersion(true);↵ | |
23 | sub_1.setRunningVersion(true);↵ | 23 | sub_1.setRunningVersion(true);↵ | |
24 | sub_2.setRunningVersion(true);↵ | 24 | sub_2.setRunningVersion(true);↵ | |
25 | sub_3.setRunningVersion(true);↵ | 25 | sub_3.setRunningVersion(true);↵ | |
26 | controller.initialize();↵ | 26 | controller.initialize();↵ | |
27 | for (int i = 0; i < 4; i++) {↵ | 27 | for (int i = 0; i < 4; i++) {↵ | |
28 | assertEquals(15, counter);↵ | 28 | assertEquals(11, counter);↵ | |
29 | counter = 0;↵ | 29 | counter = 0;↵ | |
30 | if (i > 0) {↵ | 30 | if (i > 0) {↵ | |
31 | counter = 2;↵ | 31 | counter = 2;↵ | |
32 | }↵ | 32 | }↵ | |
33 | TestElement sampler = null;↵ | 33 | TestElement sampler = null;↵ | |
34 | while ((sampler = controller.next()) != null) {↵ | 34 | while ((sampler = controller.next()) != null) {↵ | |
35 | if (i == 0 && counter < 2) {↵ | 35 | if (i == 0 && counter < 2) {↵ | |
36 | assertEquals(interleaveOrder[counter], sampler.getName());↵ | 36 | assertEquals(interleaveOrder[counter], sampler.getName());↵ | |
37 | } else {↵ | 37 | } else {↵ | |
38 | assertEquals(order[counter], sampler.getName());↵ | 38 | assertEquals(order[counter], sampler.getName());↵ | |
39 | }↵ | 39 | }↵ | |
40 | counter++;↵ | 40 | counter++;↵ | |
41 | }↵ | 41 | }↵ | |
42 | } | 42 |
| |
See real code fragment | See real code fragment |
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 0 |
Number of non-refactorable cases | 1 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 0.8 |
Clones location | Clones are declared in the same class |
Number of node comparisons | 297 |
Number of mapped statements | 34 |
Number of unmapped statements in the first code fragment | 0 |
Number of unmapped statements in the second code fragment | 1 |
Time elapsed for statement mapping (ms) | 75.2 |
Clone type | Type 3 |
ID | Statement | ID | Statement | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | GenericController controller = new GenericController(); | 1 | GenericController controller = new GenericController(); | |||||||||||||||||
2 | GenericController sub_1 = new OnceOnlyController(); | 2 | GenericController sub_1 = new OnceOnlyController(); | |||||||||||||||||
3 | sub_1.addTestElement(new TestSampler("one")); | 3 | sub_1.addTestElement(new TestSampler("one")); | |||||||||||||||||
4 | sub_1.addTestElement(new TestSampler("two")); | 4 | sub_1.addTestElement(new TestSampler("two")); | |||||||||||||||||
5 | controller.addTestElement(sub_1); | 5 | controller.addTestElement(sub_1); | |||||||||||||||||
6 | controller.addTestElement(new TestSampler("three")); | 6 | controller.addTestElement(new TestSampler("three")); | |||||||||||||||||
7 | LoopController sub_2 = new LoopController(); | 7 | LoopController sub_2 = new LoopController(); | |||||||||||||||||
8 | sub_2.setLoops(3); | 8 | sub_2.setLoops(3); | |||||||||||||||||
9 | GenericController sub_3 = new GenericController(); |
| 9 | OnceOnlyController sub_3 = new OnceOnlyController(); | ||||||||||||||||
10 | sub_2.addTestElement(new TestSampler("four")); | 10 | sub_2.addTestElement(new TestSampler("four")); | |||||||||||||||||
11 | sub_3.addTestElement(new TestSampler("five")); |
| 11 | sub_3.addTestElement(new TestSampler("five")); | ||||||||||||||||
12 | sub_3.addTestElement(new TestSampler("six")); |
| 12 | sub_3.addTestElement(new TestSampler("six")); | ||||||||||||||||
13 | sub_2.addTestElement(sub_3); |
| 13 | sub_2.addTestElement(sub_3); | ||||||||||||||||
| 14 | sub_2.addIterationListener(sub_3); | ||||||||||||||||||
14 | sub_2.addTestElement(new TestSampler("seven")); | 15 | sub_2.addTestElement(new TestSampler("seven")); | |||||||||||||||||
15 | controller.addTestElement(sub_2); | 16 | controller.addTestElement(sub_2); | |||||||||||||||||
16 | String[] interleaveOrder = new String[] {"one", "two"}; | 17 | String[] interleaveOrder = new String[] {"one", "two"}; | |||||||||||||||||
17 | String[] order = new String[] {"", "", "three", "four", "five", "six", "seven", "four", "five", "six", "seven", "four", "five", "six", "seven"}; |
| 18 | String[] order = new String[] {"", "", "three", "four", "five", "six", "seven", "four", "seven", "four", "seven"}; | ||||||||||||||||
18 | int counter = 15; |
| 19 | int counter = 11; | ||||||||||||||||
19 | controller.setRunningVersion(true); | 20 | controller.setRunningVersion(true); | |||||||||||||||||
20 | sub_1.setRunningVersion(true); | 21 | sub_1.setRunningVersion(true); | |||||||||||||||||
21 | sub_2.setRunningVersion(true); | 22 | sub_2.setRunningVersion(true); | |||||||||||||||||
22 | sub_3.setRunningVersion(true); |
| 23 | sub_3.setRunningVersion(true); | ||||||||||||||||
23 | controller.initialize(); | 24 | controller.initialize(); | |||||||||||||||||
24 | for (int i = 0; i < 4; i++) | 25 | for (int i = 0; i < 4; i++) | |||||||||||||||||
25 | assertEquals(15, counter); |
| 26 | assertEquals(11, counter); | ||||||||||||||||
26 | counter = 0; | 27 | counter = 0; | |||||||||||||||||
27 | if (i > 0) | 28 | if (i > 0) | |||||||||||||||||
28 | counter = 2; | 29 | counter = 2; | |||||||||||||||||
29 | TestElement sampler = null; | 30 | TestElement sampler = null; | |||||||||||||||||
30 | while ((sampler = controller.next()) != null) | 31 | while ((sampler = controller.next()) != null) | |||||||||||||||||
31 | if (i == 0 && counter < 2) | 32 | if (i == 0 && counter < 2) | |||||||||||||||||
32 | assertEquals(interleaveOrder[counter], sampler.getName()); | 33 | assertEquals(interleaveOrder[counter], sampler.getName()); | |||||||||||||||||
else | else | |||||||||||||||||||
33 | assertEquals(order[counter], sampler.getName()); | 34 | assertEquals(order[counter], sampler.getName()); | |||||||||||||||||
34 | counter++; | 35 | counter++; |
Row | Violation |
---|---|
1 | Clone fragment #1 returns variables , while Clone fragment #2 returns variables sub_2, sub_3 |