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 testProcessing2()
|
Method name: void testProcessing()
|
|||
Number of AST nodes: 35 | Number of AST nodes: 34 | |||
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 | OnceOnlyController sub_3 = new OnceOnlyController();↵ | 9 | GenericController sub_3 = new GenericController();↵ | |
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 | ↵ | |
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", "seven", "four",↵ | 18 | String[] order = new String[] { "", "", "three", "four", "five", "six", "seven", "four", "five", "six",↵ | |
19 | "seven" };↵ | 19 | "seven", "four", "five", "six", "seven" };↵ | |
20 | int counter = 11;↵ | 20 | int counter = 15;↵ | |
21 | controller.setRunningVersion(true);↵ | 21 | controller.setRunningVersion(true);↵ | |
22 | sub_1.setRunningVersion(true);↵ | 22 | sub_1.setRunningVersion(true);↵ | |
23 | sub_2.setRunningVersion(true);↵ | 23 | sub_2.setRunningVersion(true);↵ | |
24 | sub_3.setRunningVersion(true);↵ | 24 | sub_3.setRunningVersion(true);↵ | |
25 | controller.initialize();↵ | 25 | controller.initialize();↵ | |
26 | for (int i = 0; i < 4; i++) {↵ | 26 | for (int i = 0; i < 4; i++) {↵ | |
27 | assertEquals(11, counter);↵ | 27 | assertEquals(15, counter);↵ | |
28 | counter = 0;↵ | 28 | counter = 0;↵ | |
29 | if (i > 0) {↵ | 29 | if (i > 0) {↵ | |
30 | counter = 2;↵ | 30 | counter = 2;↵ | |
31 | }↵ | 31 | }↵ | |
32 | TestElement sampler = null;↵ | 32 | TestElement sampler = null;↵ | |
33 | while ((sampler = controller.next()) != null) {↵ | 33 | while ((sampler = controller.next()) != null) {↵ | |
34 | if (i == 0 && counter < 2) {↵ | 34 | if (i == 0 && counter < 2) {↵ | |
35 | assertEquals(interleaveOrder[counter], sampler.getName());↵ | 35 | assertEquals(interleaveOrder[counter], sampler.getName());↵ | |
36 | } else {↵ | 36 | } else {↵ | |
37 | assertEquals(order[counter], sampler.getName());↵ | 37 | assertEquals(order[counter], sampler.getName());↵ | |
38 | }↵ | 38 | }↵ | |
39 | counter++;↵ | 39 | counter++;↵ | |
40 | }↵ | 40 | }↵ | |
41 | } | 41 |
| |
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.7 |
Clones location | Clones are declared in the same class |
Number of node comparisons | 291 |
Number of mapped statements | 34 |
Number of unmapped statements in the first code fragment | 1 |
Number of unmapped statements in the second code fragment | 0 |
Time elapsed for statement mapping (ms) | 78.5 |
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 | OnceOnlyController sub_3 = new OnceOnlyController(); |
| 9 | GenericController sub_3 = new GenericController(); | ||||||||||||||||
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); | | ||||||||||||||||||
15 | sub_2.addTestElement(new TestSampler("seven")); | 14 | sub_2.addTestElement(new TestSampler("seven")); | |||||||||||||||||
16 | controller.addTestElement(sub_2); | 15 | controller.addTestElement(sub_2); | |||||||||||||||||
17 | String[] interleaveOrder = new String[] {"one", "two"}; | 16 | String[] interleaveOrder = new String[] {"one", "two"}; | |||||||||||||||||
18 | String[] order = new String[] {"", "", "three", "four", "five", "six", "seven", "four", "seven", "four", "seven"}; |
| 17 | String[] order = new String[] {"", "", "three", "four", "five", "six", "seven", "four", "five", "six", "seven", "four", "five", "six", "seven"}; | ||||||||||||||||
19 | int counter = 11; |
| 18 | int counter = 15; | ||||||||||||||||
20 | controller.setRunningVersion(true); | 19 | controller.setRunningVersion(true); | |||||||||||||||||
21 | sub_1.setRunningVersion(true); | 20 | sub_1.setRunningVersion(true); | |||||||||||||||||
22 | sub_2.setRunningVersion(true); | 21 | sub_2.setRunningVersion(true); | |||||||||||||||||
23 | sub_3.setRunningVersion(true); |
| 22 | sub_3.setRunningVersion(true); | ||||||||||||||||
24 | controller.initialize(); | 23 | controller.initialize(); | |||||||||||||||||
25 | for (int i = 0; i < 4; i++) | 24 | for (int i = 0; i < 4; i++) | |||||||||||||||||
26 | assertEquals(11, counter); |
| 25 | assertEquals(15, counter); | ||||||||||||||||
27 | counter = 0; | 26 | counter = 0; | |||||||||||||||||
28 | if (i > 0) | 27 | if (i > 0) | |||||||||||||||||
29 | counter = 2; | 28 | counter = 2; | |||||||||||||||||
30 | TestElement sampler = null; | 29 | TestElement sampler = null; | |||||||||||||||||
31 | while ((sampler = controller.next()) != null) | 30 | while ((sampler = controller.next()) != null) | |||||||||||||||||
32 | if (i == 0 && counter < 2) | 31 | if (i == 0 && counter < 2) | |||||||||||||||||
33 | assertEquals(interleaveOrder[counter], sampler.getName()); | 32 | assertEquals(interleaveOrder[counter], sampler.getName()); | |||||||||||||||||
else | else | |||||||||||||||||||
34 | assertEquals(order[counter], sampler.getName()); | 33 | assertEquals(order[counter], sampler.getName()); | |||||||||||||||||
35 | counter++; | 34 | counter++; |
Row | Violation |
---|---|
1 | Clone fragment #1 returns variables sub_2, sub_3 , while Clone fragment #2 returns variables |