File path: /jakarta-jmeter-2.3.2/test/src/org/apache/jmeter/control/TestWhileController.java | File path: /jakarta-jmeter-2.3.2/test/src/org/apache/jmeter/control/TestWhileController.java | |||
Method name: void testVariable1()
|
Method name: void testVariable2()
|
|||
Number of AST nodes: 42 | Number of AST nodes: 42 | |||
1 | GenericController controller = new GenericController();↵ | 1 | GenericController controller = new GenericController();↵ | |
2 | WhileController while_cont = new WhileController();↵ | 2 | WhileController while_cont = new WhileController();↵ | |
3 | setLastSampleStatus(false);↵ | 3 | setLastSampleStatus(false);↵ | |
4 | while_cont.setCondition("${VAR}");↵ | 4 | while_cont.setCondition("${VAR}");↵ | |
5 | jmvars.put("VAR", "");↵ | 5 | jmvars.put("VAR", "");↵ | |
6 | ValueReplacer vr = new ValueReplacer();↵ | 6 | ValueReplacer vr = new ValueReplacer();↵ | |
7 | vr.replaceValues(while_cont);↵ | 7 | vr.replaceValues(while_cont);↵ | |
8 | setRunning(while_cont);↵ | 8 | setRunning(while_cont);↵ | |
9 | controller.addTestElement(new TestSampler("before"));↵ | 9 | controller.addTestElement(new TestSampler("before"));↵ | |
10 | controller.addTestElement(while_cont);↵ | 10 | controller.addTestElement(while_cont);↵ | |
11 | while_cont.addTestElement(new TestSampler("one"));↵ | 11 | ↵ | |
12 | while_cont.addTestElement(new TestSampler("two"));↵ | |||
13 | GenericController simple = new GenericController();↵ | 12 | GenericController simple = new GenericController();↵ | |
14 | while_cont.addTestElement(simple);↵ | 13 | while_cont.addTestElement(simple);↵ | |
15 | simple.addTestElement(new TestSampler("three"));↵ | 14 | simple.addTestElement(new TestSampler("↵ | |
16 | simple↵ | 15 | one"));↵ | |
16 | simple.addTestElement(new TestSampler("two"));↵ | |||
17 | while_cont.addTestElement(new TestSampler("three"));↵ | |||
17 | .addTestElement(new TestSampler("four"));↵ | 18 | while_cont.addTestElement(new TestSampler("four"));↵ | |
18 | controller.addTestElement(new TestSampler("after"));↵ | 19 | controller.addTestElement(new TestSampler("after"));↵ | |
19 | controller.initialize();↵ | 20 | controller.initialize();↵ | |
20 | for (int i = 1; i <= 3; i++) {↵ | 21 | for (int i = 1; i <= 3; i++) {↵ | |
21 | assertEquals("Loop: "+i,"before", nextName(controller));↵ | 22 | assertEquals("Loop: "+i,"before", nextName(controller));↵ | |
22 | assertEquals("Loop: "+i,"one", nextName(controller));↵ | 23 | assertEquals("Loop: "+i,"one", nextName(controller));↵ | |
23 | assertEquals("Loop: "+i,"two", nextName(controller));↵ | 24 | assertEquals("Loop: "+i,"two", nextName(controller));↵ | |
24 | assertEquals("Loop: "+i,"three", nextName(controller));↵ | 25 | assertEquals("Loop: "+i,"three", nextName(controller));↵ | |
25 | assertEquals("Loop: "+i,"four", nextName(controller));↵ | 26 | assertEquals("Loop: "+i,"four", nextName(controller));↵ | |
26 | assertEquals("Loop: "+i,"after", nextName(controller));↵ | 27 | assertEquals("Loop: "+i,"after", nextName(controller));↵ | |
27 | assertNull("Loop: "+i,nextName(controller));↵ | 28 | assertNull("Loop: "+i,nextName(controller));↵ | |
28 | }↵ | 29 | }↵ | |
29 | jmvars.put("VAR", "LAST"); // Should not enter the loop↵ | 30 | jmvars.put("VAR", "LAST"); // Should not enter the loop↵ | |
30 | for (int i = 1; i <= 3; i++) {↵ | 31 | for (int i = 1; i <= 3; i++) {↵ | |
31 | assertEquals("Loop: "+i,"before", nextName(controller));↵ | 32 | assertEquals("Loop: "+i,"before", nextName(controller));↵ | |
32 | assertEquals("Loop: "+i,"after", nextName(controller));↵ | 33 | assertEquals("Loop: "+i,"after", nextName(controller));↵ | |
33 | assertNull("Loop: "+i,nextName(controller));↵ | 34 | assertNull("Loop: "+i,nextName(controller));↵ | |
34 | }↵ | 35 | }↵ | |
35 | jmvars.put("VAR", "");↵ | 36 | jmvars.put("VAR", "");↵ | |
36 | for (int i = 1; i <= 3; i++) {↵ | 37 | for (int i = 1; i <= 3; i++) {↵ | |
37 | assertEquals("Loop: "+i,"before", nextName(controller));↵ | 38 | assertEquals("Loop: "+i,"before", nextName(controller));↵ | |
38 | if (i==1) {↵ | 39 | if (i==1){↵ | |
39 | assertEquals("Loop: "+i,"one", nextName(controller));↵ | 40 | assertEquals("Loop: "+i,"one", nextName(controller));↵ | |
40 | assertEquals("Loop: "+i,"two", nextName(controller));↵ | 41 | assertEquals("Loop: "+i,"two", nextName(controller));↵ | |
41 | assertEquals("Loop: "+i,"three", nextName(controller));↵ | 42 | ↵ | |
42 | jmvars.put("VAR", "LAST"); // Should not enter the loop next time↵ | 43 | jmvars.put("VAR", "LAST"); // Should not enter the loop next time↵ | |
43 | ↵ | 44 | // But should continue to the end of the loop↵ | |
45 | assertEquals("Loop: "+i,"three", nextName(controller));↵ | |||
44 | assertEquals("Loop: "+i,"four", nextName(controller));↵ | 46 | assertEquals("Loop: "+i,"four", nextName(controller));↵ | |
45 | }↵ | 47 | }↵ | |
46 | assertEquals("Loop: "+i,"after", nextName(controller));↵ | 48 | assertEquals("Loop: "+i,"after", nextName(controller));↵ | |
47 | assertNull("Loop: "+i,nextName(controller));↵ | 49 | assertNull("Loop: "+i,nextName(controller));↵ | |
48 | } | 50 |
| |
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.9 |
Clones location | Clones are declared in the same class |
Number of node comparisons | 330 |
Number of mapped statements | 42 |
Number of unmapped statements in the first code fragment | 0 |
Number of unmapped statements in the second code fragment | 0 |
Time elapsed for statement mapping (ms) | 3415.2 |
Clone type | Type 2 |
ID | Statement | ID | Statement | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | GenericController controller = new GenericController(); | 1 | GenericController controller = new GenericController(); | ||||||||||||
2 | WhileController while_cont = new WhileController(); | 2 | WhileController while_cont = new WhileController(); | ||||||||||||
3 | setLastSampleStatus(false); | 3 | setLastSampleStatus(false); | ||||||||||||
4 | while_cont.setCondition("${VAR}"); | 4 | while_cont.setCondition("${VAR}"); | ||||||||||||
5 | jmvars.put("VAR", ""); | 5 | jmvars.put("VAR", ""); | ||||||||||||
6 | ValueReplacer vr = new ValueReplacer(); | 6 | ValueReplacer vr = new ValueReplacer(); | ||||||||||||
7 | vr.replaceValues(while_cont); | 7 | vr.replaceValues(while_cont); | ||||||||||||
8 | setRunning(while_cont); | 8 | setRunning(while_cont); | ||||||||||||
9 | controller.addTestElement(new TestSampler("before")); | 9 | controller.addTestElement(new TestSampler("before")); | ||||||||||||
10 | controller.addTestElement(while_cont); | 10 | controller.addTestElement(while_cont); | ||||||||||||
11 | while_cont.addTestElement(new TestSampler("one")); |
| 12 | while_cont.addTestElement(simple); | |||||||||||
12 | while_cont.addTestElement(new TestSampler("two")); |
| 15 | while_cont.addTestElement(new TestSampler("three")); | |||||||||||
13 | GenericController simple = new GenericController(); | 11 | GenericController simple = new GenericController(); | ||||||||||||
14 | while_cont.addTestElement(simple); |
| 16 | while_cont.addTestElement(new TestSampler("four")); | |||||||||||
15 | simple.addTestElement(new TestSampler("three")); |
| 13 | simple.addTestElement(new TestSampler("one")); | |||||||||||
16 | simple.addTestElement(new TestSampler("four")); |
| 14 | simple.addTestElement(new TestSampler("two")); | |||||||||||
17 | controller.addTestElement(new TestSampler("after")); | 17 | controller.addTestElement(new TestSampler("after")); | ||||||||||||
18 | controller.initialize(); | 18 | controller.initialize(); | ||||||||||||
19 | for (int i = 1; i <= 3; i++) | 19 | for (int i = 1; i <= 3; i++) | ||||||||||||
20 | assertEquals("Loop: " + i, "before", nextName(controller)); | 20 | assertEquals("Loop: " + i, "before", nextName(controller)); | ||||||||||||
21 | assertEquals("Loop: " + i, "one", nextName(controller)); | 21 | assertEquals("Loop: " + i, "one", nextName(controller)); | ||||||||||||
22 | assertEquals("Loop: " + i, "two", nextName(controller)); | 22 | assertEquals("Loop: " + i, "two", nextName(controller)); | ||||||||||||
23 | assertEquals("Loop: " + i, "three", nextName(controller)); | 23 | assertEquals("Loop: " + i, "three", nextName(controller)); | ||||||||||||
24 | assertEquals("Loop: " + i, "four", nextName(controller)); | 24 | assertEquals("Loop: " + i, "four", nextName(controller)); | ||||||||||||
25 | assertEquals("Loop: " + i, "after", nextName(controller)); | 25 | assertEquals("Loop: " + i, "after", nextName(controller)); | ||||||||||||
26 | assertNull("Loop: " + i, nextName(controller)); | 26 | assertNull("Loop: " + i, nextName(controller)); | ||||||||||||
27 | jmvars.put("VAR", "LAST"); | 27 | jmvars.put("VAR", "LAST"); | ||||||||||||
28 | for (int i = 1; i <= 3; i++) | 28 | for (int i = 1; i <= 3; i++) | ||||||||||||
29 | assertEquals("Loop: " + i, "before", nextName(controller)); | 29 | assertEquals("Loop: " + i, "before", nextName(controller)); | ||||||||||||
30 | assertEquals("Loop: " + i, "after", nextName(controller)); | 30 | assertEquals("Loop: " + i, "after", nextName(controller)); | ||||||||||||
31 | assertNull("Loop: " + i, nextName(controller)); | 31 | assertNull("Loop: " + i, nextName(controller)); | ||||||||||||
32 | jmvars.put("VAR", ""); | 32 | jmvars.put("VAR", ""); | ||||||||||||
33 | for (int i = 1; i <= 3; i++) | 33 | for (int i = 1; i <= 3; i++) | ||||||||||||
34 | assertEquals("Loop: " + i, "before", nextName(controller)); | 34 | assertEquals("Loop: " + i, "before", nextName(controller)); | ||||||||||||
35 | if (i == 1) | 35 | if (i == 1) | ||||||||||||
36 | assertEquals("Loop: " + i, "one", nextName(controller)); | 36 | assertEquals("Loop: " + i, "one", nextName(controller)); | ||||||||||||
37 | assertEquals("Loop: " + i, "two", nextName(controller)); | 37 | assertEquals("Loop: " + i, "two", nextName(controller)); | ||||||||||||
38 | assertEquals("Loop: " + i, "three", nextName(controller)); | 39 | assertEquals("Loop: " + i, "three", nextName(controller)); | ||||||||||||
39 | jmvars.put("VAR", "LAST"); | 38 | jmvars.put("VAR", "LAST"); | ||||||||||||
40 | assertEquals("Loop: " + i, "four", nextName(controller)); | 40 | assertEquals("Loop: " + i, "four", nextName(controller)); | ||||||||||||
41 | assertEquals("Loop: " + i, "after", nextName(controller)); | 41 | assertEquals("Loop: " + i, "after", nextName(controller)); | ||||||||||||
42 | assertNull("Loop: " + i, nextName(controller)); | 42 | assertNull("Loop: " + i, nextName(controller)); |
Row | Violation |
---|---|
1 | Expression simple cannot be parameterized, because it has dependencies to/from statements that will be extracted |
2 | Expression simple cannot be parameterized, because it has dependencies to/from statements that will be extracted |