try {
DefaultTableXYDataset dataset = new DefaultTableXYDataset();
XYSeries s1 = new XYSeries("Series 1", true, false);
s1.add(5.0, 5.0);
s1.add(10.0, 15.5);
s1.add(15.0, 9.5);
s1.add(20.0, 7.5);
dataset.addSeries(s1);
XYSeries s2 = new XYSeries("Series 2", true, false);
s2.add(5.0, 5.0);
s2.add(10.0, 15.5);
s2.add(15.0, 9.5);
s2.add(20.0, 3.5);
dataset.addSeries(s2);
StackedXYAreaRenderer renderer = new StackedXYAreaRenderer(
XYAreaRenderer.LINES);
XYPlot plot = new XYPlot(dataset,
new NumberAxis("X"), new NumberAxis("Y"),
renderer);
JFreeChart chart = new JFreeChart(plot);
/* BufferedImage image = */ chart.createBufferedImage(300, 200,
null);
success = true;
}
catch (NullPointerException e) {
e.printStackTrace();
success = false;
}
boolean success = false;
try {
DefaultTableXYDataset dataset = new DefaultTableXYDataset();
XYSeries s1 = new XYSeries("Series 1", true, false);
s1.add(5.0, 5.0);
s1.add(10.0, 15.5);
s1.add(15.0, 9.5);
s1.add(20.0, 7.5);
dataset.addSeries(s1);
XYSeries s2 = new XYSeries("Series 2", true, false);
s2.add(5.0, 5.0);
s2.add(10.0, 15.5);
s2.add(15.0, 9.5);
s2.add(20.0, 3.5);
dataset.addSeries(s2);
XYPlot plot = new XYPlot(dataset,
new NumberAxis("X"), new NumberAxis("Y"),
new XYAreaRenderer2());
JFreeChart chart = new JFreeChart(plot);
/* BufferedImage image = */ chart.createBufferedImage(300, 200,
null);
success = true;
}
catch (NullPointerException e) {
e.printStackTrace();
success = false;
}
assertTrue(success);
Clone fragments detected by clone detection tool
File path: /jfreechart-1.0.10/tests/org/jfree/chart/renderer/xy/junit/StackedXYAreaRendererTests.java
|
|
File path: /jfreechart-1.0.10/tests/org/jfree/chart/renderer/xy/junit/XYAreaRenderer2Tests.java
|
Method name: void testBug1593156()
|
|
Method name: void testDrawWithNullInfo()
|
Number of AST nodes: 19
|
|
Number of AST nodes: 20
|
|
| | | 1 | boolean success = false;↵
|
1 | try {↵ | | 2 | try {↵
|
2 | DefaultTableXYDataset dataset = new DefaultTableXYDataset();↵ | | 3 | DefaultTableXYDataset dataset = new DefaultTableXYDataset();↵
|
|
3 | XYSeries s1 = new XYSeries("Series 1", true, false);↵ | | 4 | XYSeries s1 = new XYSeries("Series 1", true, false);↵
|
4 | s1.add(5.0, 5.0);↵ | | 5 | s1.add(5.0, 5.0);↵
|
5 | s1.add(10.0, 15.5);↵ | | 6 | s1.add(10.0, 15.5);↵
|
6 | s1.add(15.0, 9.5);↵ | | 7 | s1.add(15.0, 9.5);↵
|
7 | s1.add(20.0, 7.5);↵ | | 8 | s1.add(20.0, 7.5);↵
|
8 | dataset.addSeries(s1);↵ | | 9 | dataset.addSeries(s1);↵
|
|
9 | XYSeries s2 = new XYSeries("Series 2", true, false);↵ | | 10 | XYSeries s2 = new XYSeries("Series 2", true, false);↵
|
10 | s2.add(5.0, 5.0);↵ | | 11 | s2.add(5.0, 5.0);↵
|
11 | s2.add(10.0, 15.5);↵ | | 12 | s2.add(10.0, 15.5);↵
|
12 | s2.add(15.0, 9.5);↵ | | 13 | s2.add(15.0, 9.5);↵
|
13 | s2.add(20.0, 3.5);↵ | | 14 | s2.add(20.0, 3.5);↵
|
14 | dataset.addSeries(s2);↵ | | 15 | dataset.addSeries(s2);↵
|
15 | StackedXYAreaRenderer renderer = new StackedXYAreaRenderer(↵ | | |
|
16 | XYAreaRenderer.LINES);↵ | | |
|
17 | XYPlot plot = new XYPlot(dataset,↵ | | 16 | XYPlot plot = new XYPlot(dataset,↵
|
18 | new NumberAxis("X"), new NumberAxis("Y"),↵ | | 17 | new NumberAxis("X"), new NumberAxis("Y"),↵
|
19 | renderer);↵ | | 18 | new XYAreaRenderer2());↵
|
20 | JFreeChart chart = new JFreeChart(plot);↵ | | 19 | JFreeChart chart = new JFreeChart(plot);↵
|
21 | /* BufferedImage image = */ chart.createBufferedImage(300, 200,↵ | | 20 | /* BufferedImage image = */ chart.createBufferedImage(300, 200,↵
|
22 | null);↵ | | 21 | null);↵
|
23 | success = true;↵ | | 22 | success = true;↵
|
24 | }↵ | | 23 | }↵
|
25 | catch (NullPointerException e) {↵ | | 24 | catch (NullPointerException e) {↵
|
26 | e.printStackTrace();↵ | | 25 | e.printStackTrace();↵
|
27 | success = false;↵ | | 26 | success = false;↵
|
28 | } | | 27 | }↵
|
| | | 28 | assertTrue(success);
|
See real code fragment |
|
See real code fragment |
Summary
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.2 |
Clones location | Clones are in different classes having the same super class |
Number of node comparisons | 342 |
-
{Non-refactorable}
Mapping Summary
Number of mapped statements | 18 |
Number of unmapped statements in the first code fragment | 1 |
Number of unmapped statements in the second code fragment | 2 |
Time elapsed for statement mapping (ms) | 451.2 |
Clone type | Type 3 |
Mapped Statements
ID |
Statement |
|
ID |
Statement |
| | | 1 | boolean success = false; |
2 | try | | 2 | try |
3 | DefaultTableXYDataset dataset = new DefaultTableXYDataset(); | | 3 | DefaultTableXYDataset dataset = new DefaultTableXYDataset(); |
4 | XYSeries s1 = new XYSeries("Series 1", true, false); | | 4 | XYSeries s1 = new XYSeries("Series 1", true, false); |
5 | | | 5 | |
6 | | | 6 | |
7 | | | 7 | |
8 | | | 8 | |
9 | | | 9 | |
10 | XYSeries s2 = new XYSeries("Series 2", true, false); | | 10 | XYSeries s2 = new XYSeries("Series 2", true, false); |
11 | | | 11 | |
12 | | | 12 | |
13 | | | 13 | |
14 | | | 14 | |
15 | | | 15 | |
16 | StackedXYAreaRenderer renderer = new StackedXYAreaRenderer(XYAreaRenderer.LINES); | | | |
17 | XYPlot plot = new XYPlot(dataset, new NumberAxis("X"), new NumberAxis("Y"), renderer); | | 16 | XYPlot plot = new XYPlot(dataset, new NumberAxis("X"), new NumberAxis("Y"), new XYAreaRenderer2()); |
18 | JFreeChart chart = new JFreeChart(plot); | | 17 | JFreeChart chart = new JFreeChart(plot); |
19 | chart.createBufferedImage(300, 200, null); | | 18 | chart.createBufferedImage(300, 200, null); |
20 | | | 19 | |
| | | 20 | assertTrue(success); |
Precondition Violations (3)
Row |
Violation |
1 | Expression renderer cannot be parameterized, because it has dependencies to/from statements that will be extracted |
2 | Unmatched statement assertTrue(success); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
3 | Clone fragment #1 returns variables success , while Clone fragment #2 returns variables |