GenericController controller = new GenericController(); GenericController sub_1 = new OnceOnlyController(); sub_1.addTestElement(new TestSampler("one")); sub_1.addTestElement(new TestSampler("two")); controller.addTestElement(sub_1); controller.addTestElement(new TestSampler("three")); LoopController sub_2 = new LoopController(); sub_2.setLoops(3); OnceOnlyController sub_3 = new OnceOnlyController(); sub_2.addTestElement(new TestSampler("four")); sub_3.addTestElement(new TestSampler("five")); sub_3.addTestElement(new TestSampler("six")); sub_2.addTestElement(sub_3); sub_2.addIterationListener(sub_3); sub_2.addTestElement(new TestSampler("seven")); controller.addTestElement(sub_2); String[] interleaveOrder = new String[] { "one", "two" }; String[] order = new String[] { "", "", "three", "four", "five", "six", "seven", "four", "seven", "four", "seven" }; int counter = 11; controller.setRunningVersion(true); sub_1.setRunningVersion(true); sub_2.setRunningVersion(true); sub_3.setRunningVersion(true); controller.initialize(); for (int i = 0; i < 4; i++) { assertEquals(11, counter); counter = 0; if (i > 0) { counter = 2; } TestElement sampler = null; while ((sampler = controller.next()) != null) { if (i == 0 && counter < 2) { assertEquals(interleaveOrder[counter], sampler.getName()); } else { assertEquals(order[counter], sampler.getName()); } counter++; } }
testLog.debug("Testing Interleave Controller 1"); GenericController controller = new GenericController(); InterleaveControl sub_1 = new InterleaveControl(); sub_1.setStyle(InterleaveControl.IGNORE_SUB_CONTROLLERS); sub_1.addTestElement(new TestSampler("one")); sub_1.addTestElement(new TestSampler("two")); controller.addTestElement(sub_1); controller.addTestElement(new TestSampler("three")); LoopController sub_2 = new LoopController(); sub_2.setLoops(3); GenericController sub_3 = new GenericController(); sub_2.addTestElement(new TestSampler("four")); sub_3.addTestElement(new TestSampler("five")); sub_3.addTestElement(new TestSampler("six")); sub_2.addTestElement(sub_3); sub_2.addTestElement(new TestSampler("seven")); controller.addTestElement(sub_2); String[] interleaveOrder = new String[] { "one", "two" }; String[] order = new String[] { "dummy", "three", "four", "five", "six", "seven", "four", "five", "six", "seven", "four", "five", "six", "seven" }; int counter = 14; controller.setRunningVersion(true); sub_1.setRunningVersion(true); sub_2.setRunningVersion(true); sub_3.setRunningVersion(true); controller.initialize(); for (int i = 0; i < 4; i++) { assertEquals(14, counter); counter = 0; TestElement sampler = null; while ((sampler = controller.next()) != null) { if (counter == 0) { assertEquals(interleaveOrder[i % 2], sampler.getName()); } else { assertEquals(order[counter], sampler.getName()); } counter++; } }
Clone fragments detected by clone detection tool
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/TestInterleaveControl.java
Method name: void testProcessing2() Method name: void testProcessing()
Number of AST nodes: 35 Number of AST nodes: 34
1
testLog.debug("Testing Interleave Controller 1");
1
GenericController controller = new GenericController();
2
			GenericController controller = new GenericController();
2
			GenericController sub_1 = new OnceOnlyController(
3
			InterleaveControl sub_1 = new InterleaveControl();
3
);
4
			sub_1.setStyle(InterleaveControl.IGNORE_SUB_CONTROLLERS);
4
			sub_1.addTestElement(new TestSampler("one"));
5
			sub_1.addTestElement(new TestSampler("one"));
5
			sub_1.addTestElement(new TestSampler("two"));
6
			sub_1.addTestElement(new TestSampler("two"));
6
			controller.addTestElement(sub_1);
7
			controller.addTestElement(sub_1);
7
			controller.addTestElement(new TestSampler("three"));
8
			controller.addTestElement(new TestSampler("three"));
8
			LoopController sub_2 = new LoopController();
9
			LoopController sub_2 = new LoopController();
9
			sub_2.setLoops(3);
10
			sub_2.setLoops(3);
10
			OnceOnlyController sub_3 = new OnceOnlyController();
11
			GenericController sub_3 = new GenericController();
11
			sub_2.addTestElement(new TestSampler("four"));
12
			sub_2.addTestElement(new TestSampler("four"));
12
			sub_3.addTestElement(new TestSampler("five"));
13
			sub_3.addTestElement(new TestSampler("five"));
13
			sub_3.addTestElement(new TestSampler("six"));
14
			sub_3.addTestElement(new TestSampler("six"));
14
			sub_2.addTestElement(sub_3);
15
			sub_2.addTestElement(sub_3);
15
			sub_2.addIterationListener(sub_3);
16
			
16
			sub_2.addTestElement(new TestSampler("seven"));
17
sub_2.addTestElement(new TestSampler("seven"));
17
			controller.addTestElement(sub_2);
18
			controller.addTestElement(sub_2);
18
			String[] interleaveOrder = new String[] { "one", "two" };
19
			String[] interleaveOrder = new String[] { "one", "two" };
19
			String[] order = new String[] { "", "", "three", "four", "five", "six", "seven", "four", "seven", "four",
20
			String[] order = new String[] { "dummy", "three", "four", "five", "six", "seven", "four", "five", "six",
20
					"seven" };
21
					"seven", "four", "five", "six", "seven" };
21
			int counter = 11;
22
			int counter = 14;
22
			controller.setRunningVersion(true);
23
			controller.setRunningVersion(true);
23
			sub_1.setRunningVersion(true);
24
			sub_1.setRunningVersion(true);
24
			sub_2.setRunningVersion(true);
25
			sub_2.setRunningVersion(true);
25
			sub_3.setRunningVersion(true);
26
			sub_3.setRunningVersion(true);
26
			controller.initialize();
27
			controller.initialize();
27
			for (int i = 0; i < 4; i++) {
28
			for (int i = 0; i < 4; i++) {
28
				assertEquals(11, counter);
29
				assertEquals(14, counter);
29
				counter = 0;
30
				counter = 0;
30
				if (i > 0) {
31
				
31
					counter = 2;
32
				}
33
				TestElement sampler = null;
32
TestElement sampler = null;
34
				while ((sampler = controller.next()) != null) {
33
				while ((sampler = controller.next()) != null) {
35
					if (i == 0 && counter < 2) {
34
					if (counter == 0) {
36
						assertEquals(interleaveOrder[counter], sampler.getName());
35
						assertEquals(interleaveOrder[i % 2], sampler.getName());
37
					} else {
36
					} else {
38
						assertEquals(order[counter], sampler.getName());
37
						assertEquals(order[counter], sampler.getName());
39
					}
38
					}
40
					counter++;
39
					counter++;
41
				}
40
				}
42
			}
41
			}
Summary
Number of common nesting structure subtrees0
Number of refactorable cases0
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.1
Clones locationClones are in different classes having the same super class
Number of node comparisons1