File path: /jfreechart-1.0.10/tests/org/jfree/chart/plot/junit/CategoryPlotTests.java | File path: /jfreechart-1.0.10/tests/org/jfree/chart/plot/junit/XYPlotTests.java | |||
Method name: void testSerialization5()
|
Method name: void testSerialization5()
|
|||
Number of AST nodes: 39 | Number of AST nodes: 39 | |||
1 | DefaultCategoryDataset dataset1 = new DefaultCategoryDataset();↵ | 1 | XYSeriesCollection dataset1 = new XYSeriesCollection();↵ | |
2 | CategoryAxis domainAxis1 = new CategoryAxis("Domain 1");↵ | 2 | NumberAxis domainAxis1 = new NumberAxis("Domain 1");↵ | |
3 | NumberAxis rangeAxis1 = new NumberAxis("Range 1");↵ | 3 | NumberAxis rangeAxis1 = new NumberAxis("Range 1");↵ | |
4 | BarRenderer renderer1 = new BarRenderer();↵ | 4 | StandardXYItemRenderer renderer1 = new StandardXYItemRenderer();↵ | |
5 | CategoryPlot p1 = new CategoryPlot(dataset1, domainAxis1, rangeAxis1,↵ | 5 | XYPlot p1 = new XYPlot(dataset1, domainAxis1, rangeAxis1,↵ | |
6 | renderer1);↵ | 6 | renderer1);↵ | |
7 | CategoryAxis domainAxis2 = new CategoryAxis("Domain 2");↵ | 7 | NumberAxis domainAxis2 = new NumberAxis("Domain 2");↵ | |
8 | NumberAxis rangeAxis2 = new NumberAxis("Range 2");↵ | 8 | NumberAxis rangeAxis2 = new NumberAxis("Range 2");↵ | |
9 | BarRenderer renderer2 = new BarRenderer();↵ | 9 | StandardXYItemRenderer renderer2 = new StandardXYItemRenderer();↵ | |
10 | DefaultCategoryDataset dataset2 = new DefaultCategoryDataset();↵ | 10 | XYSeriesCollection dataset2 = new XYSeriesCollection();↵ | |
11 | p1.setDataset(1, dataset2);↵ | 11 | p1.setDataset(1, dataset2);↵ | |
12 | p1.setDomainAxis(1, domainAxis2);↵ | 12 | p1.setDomainAxis(1, domainAxis2);↵ | |
13 | p1.setRangeAxis(1, rangeAxis2);↵ | 13 | p1.setRangeAxis(1, rangeAxis2);↵ | |
14 | p1.setRenderer(1, renderer2);↵ | 14 | p1.setRenderer(1, renderer2);↵ | |
15 | CategoryPlot p2 = null;↵ | 15 | XYPlot p2 = null;↵ | |
16 | try {↵ | 16 | try {↵ | |
17 | ByteArrayOutputStream buffer = new ByteArrayOutputStream();↵ | 17 | ByteArrayOutputStream buffer = new ByteArrayOutputStream();↵ | |
18 | ObjectOutput out = new ObjectOutputStream(buffer);↵ | 18 | ObjectOutput out = new ObjectOutputStream(buffer);↵ | |
19 | out.writeObject(p1);↵ | 19 | out.writeObject(p1);↵ | |
20 | out.close();↵ | 20 | out.close();↵ | |
21 | ObjectInput in = new ObjectInputStream(↵ | 21 | ObjectInput in = new ObjectInputStream(↵ | |
22 | new ByteArrayInputStream(buffer.toByteArray())↵ | 22 | new ByteArrayInputStream(buffer.toByteArray())↵ | |
23 | );↵ | 23 | );↵ | |
24 | p2 = (CategoryPlot) in.readObject();↵ | 24 | p2 = (XYPlot) in.readObject();↵ | |
25 | in.close();↵ | 25 | in.close();↵ | |
26 | }↵ | 26 | }↵ | |
27 | catch (Exception e) {↵ | 27 | catch (Exception e) {↵ | |
28 | fail(e.toString());↵ | 28 | fail(e.toString());↵ | |
29 | }↵ | 29 | }↵ | |
30 | assertEquals(p1, p2);↵ | 30 | assertEquals(p1, p2);↵ | |
31 | ↵ | |||
31 | // now check that all datasets, renderers and axes are being listened↵ | 32 | // now check that all datasets, renderers and axes are being listened ↵ | |
32 | // too...↵ | 33 | // too...↵ | |
33 | CategoryAxis domainAxisA = p2.getDomainAxis(0);↵ | 34 | NumberAxis domainAxisA = (NumberAxis) p2.getDomainAxis(0);↵ | |
34 | NumberAxis rangeAxisA = (NumberAxis) p2.getRangeAxis(0);↵ | 35 | NumberAxis rangeAxisA = (NumberAxis) p2.getRangeAxis(0);↵ | |
35 | DefaultCategoryDataset datasetA↵ | 36 | ↵ | |
36 | = (DefaultCategoryDataset) p2.getDataset(0);↵ | 37 | XYSeriesCollection datasetA = (XYSeriesCollection) p2.getDataset(0);↵ | |
37 | BarRenderer rendererA = (Bar↵ | 38 | StandardXYItemRenderer rendererA ↵ | |
38 | Renderer) p2.getRenderer(0);↵ | 39 | = (StandardXYItemRenderer) p2.getRenderer(0);↵ | |
39 | CategoryAxis domainAxisB = p2.getDomainAxis(1);↵ | 40 | NumberAxis domainAxisB = (NumberAxis) p2.getDomainAxis(1);↵ | |
40 | NumberAxis rangeAxisB = (NumberAxis) p2.getRangeAxis(1);↵ | 41 | NumberAxis rangeAxisB = (NumberAxis) p2.getRangeAxis(1);↵ | |
41 | DefaultCategoryDataset datasetB↵ | 42 | ↵ | |
42 | = (DefaultCategoryDataset) p2.getDataset(1);↵ | 43 | XYSeriesCollection datasetB = (XYSeriesCollection) p2.getDataset(1);↵ | |
43 | BarRenderer rendererB = (Bar↵ | 44 | StandardXYItemRenderer rendererB ↵ | |
44 | Renderer) p2.getRenderer(1);↵ | 45 | = (StandardXYItemRenderer) p2.getRenderer(1);↵ | |
45 | assertTrue(datasetA.hasListener(p2));↵ | 46 | assertTrue(datasetA.hasListener(p2));↵ | |
46 | assertTrue(domainAxisA.hasListener(p2));↵ | 47 | assertTrue(domainAxisA.hasListener(p2));↵ | |
47 | assertTrue(rangeAxisA.hasListener(p2));↵ | 48 | assertTrue(rangeAxisA.hasListener(p2));↵ | |
48 | assertTrue(rendererA.hasListener(p2));↵ | 49 | assertTrue(rendererA.hasListener(p2));↵ | |
49 | assertTrue(datasetB.hasListener(p2));↵ | 50 | assertTrue(datasetB.hasListener(p2));↵ | |
50 | assertTrue(domainAxisB.hasListener(p2));↵ | 51 | assertTrue(domainAxisB.hasListener(p2));↵ | |
51 | assertTrue(rangeAxisB.hasListener(p2));↵ | 52 | assertTrue(rangeAxisB.hasListener(p2));↵ | |
52 | assertTrue(rendererB.hasListener(p2)); | 53 |
| |
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 in different classes having the same super class |
Number of node comparisons | 452 |
Number of mapped statements | 39 |
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) | 379.5 |
Clone type | Type 2 |
ID | Statement | ID | Statement | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | DefaultCategoryDataset dataset1 = new DefaultCategoryDataset(); |
| 1 | XYSeriesCollection dataset1 = new XYSeriesCollection(); | |||||||||||||||||||||||||||
2 | CategoryAxis domainAxis1 = new CategoryAxis("Domain 1"); |
| 2 | NumberAxis domainAxis1 = new NumberAxis("Domain 1"); | |||||||||||||||||||||||||||
3 | NumberAxis rangeAxis1 = new NumberAxis("Range 1"); | 3 | NumberAxis rangeAxis1 = new NumberAxis("Range 1"); | ||||||||||||||||||||||||||||
4 | BarRenderer renderer1 = new BarRenderer(); |
| 4 | StandardXYItemRenderer renderer1 = new StandardXYItemRenderer(); | |||||||||||||||||||||||||||
5 | CategoryPlot p1 = new CategoryPlot(dataset1, domainAxis1, rangeAxis1, renderer1); |
| 5 | XYPlot p1 = new XYPlot(dataset1, domainAxis1, rangeAxis1, renderer1); | |||||||||||||||||||||||||||
6 | CategoryAxis domainAxis2 = new CategoryAxis("Domain 2"); |
| 6 | NumberAxis domainAxis2 = new NumberAxis("Domain 2"); | |||||||||||||||||||||||||||
7 | NumberAxis rangeAxis2 = new NumberAxis("Range 2"); | 7 | NumberAxis rangeAxis2 = new NumberAxis("Range 2"); | ||||||||||||||||||||||||||||
8 | BarRenderer renderer2 = new BarRenderer(); |
| 8 | StandardXYItemRenderer renderer2 = new StandardXYItemRenderer(); | |||||||||||||||||||||||||||
9 | DefaultCategoryDataset dataset2 = new DefaultCategoryDataset(); |
| 9 | XYSeriesCollection dataset2 = new XYSeriesCollection(); | |||||||||||||||||||||||||||
10 | p1.setDataset(1, dataset2); |
| 10 | p1.setDataset(1, dataset2); | |||||||||||||||||||||||||||
11 | p1.setDomainAxis(1, domainAxis2); |
| 11 | p1.setDomainAxis(1, domainAxis2); | |||||||||||||||||||||||||||
12 | p1.setRangeAxis(1, rangeAxis2); |
| 12 | p1.setRangeAxis(1, rangeAxis2); | |||||||||||||||||||||||||||
13 | p1.setRenderer(1, renderer2); |
| 13 | p1.setRenderer(1, renderer2); | |||||||||||||||||||||||||||
14 | CategoryPlot p2 = null; |
| 14 | XYPlot p2 = null; | |||||||||||||||||||||||||||
15 | try | 15 | try | ||||||||||||||||||||||||||||
16 | ByteArrayOutputStream buffer = new ByteArrayOutputStream(); | 16 | ByteArrayOutputStream buffer = new ByteArrayOutputStream(); | ||||||||||||||||||||||||||||
17 | ObjectOutput out = new ObjectOutputStream(buffer); | 17 | ObjectOutput out = new ObjectOutputStream(buffer); | ||||||||||||||||||||||||||||
18 | out.writeObject(p1); |
| 18 | out.writeObject(p1); | |||||||||||||||||||||||||||
19 | out.close(); | 19 | out.close(); | ||||||||||||||||||||||||||||
20 | ObjectInput in = new ObjectInputStream(new ByteArrayInputStream(buffer.toByteArray())); | 20 | ObjectInput in = new ObjectInputStream(new ByteArrayInputStream(buffer.toByteArray())); | ||||||||||||||||||||||||||||
21 | p2 = (CategoryPlot)in.readObject(); |
| 21 | p2 = (XYPlot)in.readObject(); | |||||||||||||||||||||||||||
22 | in.close(); | 22 | in.close(); | ||||||||||||||||||||||||||||
23 | assertEquals(p1, p2); |
| 23 | assertEquals(p1, p2); | |||||||||||||||||||||||||||
24 | CategoryAxis domainAxisA = p2.getDomainAxis(0); |
| 24 | NumberAxis domainAxisA = (NumberAxis)p2.getDomainAxis(0); | |||||||||||||||||||||||||||
25 | NumberAxis rangeAxisA = (NumberAxis)p2.getRangeAxis(0); |
| 25 | NumberAxis rangeAxisA = (NumberAxis)p2.getRangeAxis(0); | |||||||||||||||||||||||||||
26 | DefaultCategoryDataset datasetA = (DefaultCategoryDataset)p2.getDataset(0); |
| 26 | XYSeriesCollection datasetA = (XYSeriesCollection)p2.getDataset(0); | |||||||||||||||||||||||||||
27 | BarRenderer rendererA = (BarRenderer)p2.getRenderer(0); |
| 27 | StandardXYItemRenderer rendererA = (StandardXYItemRenderer)p2.getRenderer(0); | |||||||||||||||||||||||||||
28 | CategoryAxis domainAxisB = p2.getDomainAxis(1); |
| 28 | NumberAxis domainAxisB = (NumberAxis)p2.getDomainAxis(1); | |||||||||||||||||||||||||||
29 | NumberAxis rangeAxisB = (NumberAxis)p2.getRangeAxis(1); |
| 29 | NumberAxis rangeAxisB = (NumberAxis)p2.getRangeAxis(1); | |||||||||||||||||||||||||||
30 | DefaultCategoryDataset datasetB = (DefaultCategoryDataset)p2.getDataset(1); |
| 30 | XYSeriesCollection datasetB = (XYSeriesCollection)p2.getDataset(1); | |||||||||||||||||||||||||||
31 | BarRenderer rendererB = (BarRenderer)p2.getRenderer(1); |
| 31 | StandardXYItemRenderer rendererB = (StandardXYItemRenderer)p2.getRenderer(1); | |||||||||||||||||||||||||||
32 | assertTrue(datasetA.hasListener(p2)); |
| 32 | assertTrue(datasetA.hasListener(p2)); | |||||||||||||||||||||||||||
33 | assertTrue(domainAxisA.hasListener(p2)); |
| 33 | assertTrue(domainAxisA.hasListener(p2)); | |||||||||||||||||||||||||||
34 | assertTrue(rangeAxisA.hasListener(p2)); |
| 34 | assertTrue(rangeAxisA.hasListener(p2)); | |||||||||||||||||||||||||||
35 | assertTrue(rendererA.hasListener(p2)); |
| 35 | assertTrue(rendererA.hasListener(p2)); | |||||||||||||||||||||||||||
36 | assertTrue(datasetB.hasListener(p2)); |
| 36 | assertTrue(datasetB.hasListener(p2)); | |||||||||||||||||||||||||||
37 | assertTrue(domainAxisB.hasListener(p2)); |
| 37 | assertTrue(domainAxisB.hasListener(p2)); | |||||||||||||||||||||||||||
38 | assertTrue(rangeAxisB.hasListener(p2)); |
| 38 | assertTrue(rangeAxisB.hasListener(p2)); | |||||||||||||||||||||||||||
39 | assertTrue(rendererB.hasListener(p2)); |
| 39 | assertTrue(rendererB.hasListener(p2)); |
Row | Violation |
---|---|
1 | Expression new DefaultCategoryDataset() cannot be parameterized, because it has dependencies to/from statements that will be extracted |
2 | Expression new XYSeriesCollection() cannot be parameterized, because it has dependencies to/from statements that will be extracted |
3 | Expression new CategoryAxis("Domain 1") cannot be parameterized, because it has dependencies to/from statements that will be extracted |
4 | Expression new NumberAxis("Domain 1") cannot be parameterized, because it has dependencies to/from statements that will be extracted |
5 | Expression new BarRenderer() cannot be parameterized, because it has dependencies to/from statements that will be extracted |
6 | Expression new StandardXYItemRenderer() cannot be parameterized, because it has dependencies to/from statements that will be extracted |
7 | Expression new CategoryPlot(dataset1,domainAxis1,rangeAxis1,renderer1) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
8 | Expression new XYPlot(dataset1,domainAxis1,rangeAxis1,renderer1) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
9 | Expression new CategoryAxis("Domain 2") cannot be parameterized, because it has dependencies to/from statements that will be extracted |
10 | Expression new NumberAxis("Domain 2") cannot be parameterized, because it has dependencies to/from statements that will be extracted |
11 | Expression new BarRenderer() cannot be parameterized, because it has dependencies to/from statements that will be extracted |
12 | Expression new StandardXYItemRenderer() cannot be parameterized, because it has dependencies to/from statements that will be extracted |
13 | Expression new DefaultCategoryDataset() cannot be parameterized, because it has dependencies to/from statements that will be extracted |
14 | Expression new XYSeriesCollection() cannot be parameterized, because it has dependencies to/from statements that will be extracted |
15 | Expression dataset2 cannot be unified with expression dataset2 , because common superclass type org.jfree.data.general.AbstractDataset cannot be passed as an argument to public void setDataset(int, org.jfree.data.category.CategoryDataset) |
16 | Expression p1 cannot be unified with expression p1 , because common superclass org.jfree.chart.plot.Plot does not declare member(s) public void setDataset(int, org.jfree.data.category.CategoryDataset) , public void setDataset(int, org.jfree.data.xy.XYDataset) |
17 | Expression domainAxis2 cannot be unified with expression domainAxis2 , because common superclass type org.jfree.chart.axis.Axis cannot be passed as an argument to public void setDomainAxis(int, org.jfree.chart.axis.CategoryAxis) |
18 | Expression p1 cannot be unified with expression p1 , because common superclass org.jfree.chart.plot.Plot does not declare member(s) public void setDomainAxis(int, org.jfree.chart.axis.CategoryAxis) , public void setDomainAxis(int, org.jfree.chart.axis.ValueAxis) |
19 | Expression p1 cannot be unified with expression p1 , because common superclass org.jfree.chart.plot.Plot does not declare member(s) public void setRangeAxis(int, org.jfree.chart.axis.ValueAxis) |
20 | Expression renderer2 cannot be unified with expression renderer2 , because common superclass type org.jfree.chart.renderer.AbstractRenderer cannot be passed as an argument to public void setRenderer(int, org.jfree.chart.renderer.category.CategoryItemRenderer) |
21 | Expression p1 cannot be unified with expression p1 , because common superclass org.jfree.chart.plot.Plot does not declare member(s) public void setRenderer(int, org.jfree.chart.renderer.category.CategoryItemRenderer) , public void setRenderer(int, org.jfree.chart.renderer.xy.XYItemRenderer) |
22 | Expression (CategoryPlot)in.readObject() cannot be parameterized, because it has dependencies to/from statements that will be extracted |
23 | Expression (XYPlot)in.readObject() cannot be parameterized, because it has dependencies to/from statements that will be extracted |
24 | Expression p2.getDomainAxis(0) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
25 | Expression (NumberAxis)p2.getDomainAxis(0) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
26 | Expression p2 cannot be unified with expression p2 , because common superclass org.jfree.chart.plot.Plot does not declare member(s) public org.jfree.chart.axis.ValueAxis getRangeAxis(int) |
27 | Expression (DefaultCategoryDataset)p2.getDataset(0) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
28 | Expression (XYSeriesCollection)p2.getDataset(0) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
29 | Expression p2 cannot be unified with expression p2 , because common superclass org.jfree.chart.plot.Plot does not declare member(s) public org.jfree.data.category.CategoryDataset getDataset(int) , public org.jfree.data.xy.XYDataset getDataset(int) |
30 | Expression (BarRenderer)p2.getRenderer(0) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
31 | Expression (StandardXYItemRenderer)p2.getRenderer(0) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
32 | Expression p2 cannot be unified with expression p2 , because common superclass org.jfree.chart.plot.Plot does not declare member(s) public org.jfree.chart.renderer.category.CategoryItemRenderer getRenderer(int) , public org.jfree.chart.renderer.xy.XYItemRenderer getRenderer(int) |
33 | Expression p2.getDomainAxis(1) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
34 | Expression (NumberAxis)p2.getDomainAxis(1) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
35 | Expression p2 cannot be unified with expression p2 , because common superclass org.jfree.chart.plot.Plot does not declare member(s) public org.jfree.chart.axis.ValueAxis getRangeAxis(int) |
36 | Expression (DefaultCategoryDataset)p2.getDataset(1) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
37 | Expression (XYSeriesCollection)p2.getDataset(1) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
38 | Expression p2 cannot be unified with expression p2 , because common superclass org.jfree.chart.plot.Plot does not declare member(s) public org.jfree.data.category.CategoryDataset getDataset(int) , public org.jfree.data.xy.XYDataset getDataset(int) |
39 | Expression (BarRenderer)p2.getRenderer(1) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
40 | Expression (StandardXYItemRenderer)p2.getRenderer(1) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
41 | Expression p2 cannot be unified with expression p2 , because common superclass org.jfree.chart.plot.Plot does not declare member(s) public org.jfree.chart.renderer.category.CategoryItemRenderer getRenderer(int) , public org.jfree.chart.renderer.xy.XYItemRenderer getRenderer(int) |