File path: /jfreechart-1.0.10/tests/org/jfree/data/general/junit/DatasetUtilitiesTests.java | File path: /jfreechart-1.0.10/tests/org/jfree/data/statistics/junit/SimpleHistogramDatasetTests.java | |||
Method name: void testIsEmptyOrNullXYDataset()
|
Method name: void testCloning()
|
|||
Number of AST nodes: 11 | Number of AST nodes: 10 | |||
1 | XYSeriesCollection dataset = null;↵ | |||
2 | assertTrue(DatasetUtilities.isEmptyOrNull(dataset));↵ | 1 | SimpleHistogramDataset d1 = new SimpleHistogramDataset("Dataset 1");↵ | |
3 | dataset = new XYSeriesCollection();↵ | 2 | SimpleHistogramDataset d2 = n↵ | |
4 | assertTrue(DatasetUtilities.isEmptyOrNull(dataset));↵ | |||
5 | XYSeries s1 = new XYSeries("S1");↵ | |||
6 | dataset.addSeries(s1);↵ | |||
7 | assertTrue(DatasetUtilities.isEmptyOrNull(dataset));↵ | |||
8 | s1.add(1.0, 2.0↵ | 3 | ull;↵ | |
4 | try {↵ | |||
5 | d2 = (SimpleHistogramDataset) d1.clone();↵ | |||
6 | }↵ | |||
7 | catch (CloneNotSupportedException e) {↵ | |||
8 | e.printStackTrace();↵ | |||
9 | }↵ | |||
10 | assertTrue(d1 != d2);↵ | |||
11 | assertTrue(d1.getClass() == d2.getClass());↵ | |||
9 | );↵ | 12 | assertTrue(d1.equals(d2));↵ | |
10 | ↵ | 13 | ↵ | |
11 | assertFalse(DatasetUtilities.isEmptyOrNull(dataset));↵ | 14 | ↵ | |
12 | s1.clear();↵ | |||
13 | assertTrue(DatasetUtilities.isEmptyOrNull(dataset↵ | 15 | // check that clone is independent of the original↵ | |
16 | d2.addBin(new SimpleHistogramBin(2.0, 3.0));↵ | |||
17 | d2.addObservation(2.3);↵ | |||
14 | )); | 18 | assertFalse(d1.equals(d2)); | |
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.0 |
Clones location | Clones are in different classes having the same super class |
Number of node comparisons | 75 |
Number of mapped statements | 5 |
Number of unmapped statements in the first code fragment | 6 |
Number of unmapped statements in the second code fragment | 3 |
Time elapsed for statement mapping (ms) | 0.0 |
Clone type | Type 3 |
ID | Statement | ID | Statement | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| 1 | SimpleHistogramDataset d1 = new SimpleHistogramDataset("Dataset 1"); | |||||||||||||||||
1 | XYSeriesCollection dataset = null; |
| 2 | SimpleHistogramDataset d2 = null; | ||||||||||||||||
2 | assertTrue(DatasetUtilities.isEmptyOrNull(dataset)); |
| 6 | assertTrue(d1.getClass() == d2.getClass()); | ||||||||||||||||
3 | dataset = new XYSeriesCollection(); |
| | |||||||||||||||||
4 | assertTrue(DatasetUtilities.isEmptyOrNull(dataset)); |
| 5 | assertTrue(d1 != d2); | ||||||||||||||||
5 | XYSeries s1 = new XYSeries("S1"); |
| | |||||||||||||||||
6 | dataset.addSeries(s1); |
| | |||||||||||||||||
7 | assertTrue(DatasetUtilities.isEmptyOrNull(dataset)); |
| 7 | assertTrue(d1.equals(d2)); | ||||||||||||||||
|
| 8 | d2.addBin(new SimpleHistogramBin(2.0, 3.0)); | |||||||||||||||||
8 | s1.add(1.0, 2.0); |
| | |||||||||||||||||
| 9 | d2.addObservation(2.3); | ||||||||||||||||||
9 | assertFalse(DatasetUtilities.isEmptyOrNull(dataset)); |
| 10 | assertFalse(d1.equals(d2)); | ||||||||||||||||
10 | s1.clear(); |
| | |||||||||||||||||
11 | assertTrue(DatasetUtilities.isEmptyOrNull(dataset)); | |
Row | Violation |
---|---|
1 | Unmatched statement SimpleHistogramDataset d1=new SimpleHistogramDataset("Dataset 1"); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
2 | Expression DatasetUtilities.isEmptyOrNull(dataset) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
3 | Expression d1.getClass() == d2.getClass() cannot be parameterized, because it has dependencies to/from statements that will be extracted |
4 | Unmatched statement dataset=new XYSeriesCollection(); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
5 | Expression DatasetUtilities.isEmptyOrNull(dataset) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
6 | Expression d1 != d2 cannot be parameterized, because it has dependencies to/from statements that will be extracted |
7 | Unmatched statement XYSeries s1=new XYSeries("S1"); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
8 | Unmatched statement dataset.addSeries(s1); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
9 | Expression DatasetUtilities.isEmptyOrNull(dataset) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
10 | Expression d1.equals(d2) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
11 | Unmatched statement d2.addBin(new SimpleHistogramBin(2.0,3.0)); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
12 | Unmatched statement s1.add(1.0,2.0); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
13 | Expression DatasetUtilities.isEmptyOrNull(dataset) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
14 | Expression d1.equals(d2) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
15 | Unmatched statement s1.clear(); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
16 | Clone fragment #1 returns variable dataset with type org.jfree.data.xy.XYSeriesCollection , while Clone fragment #2 returns variable d2 with type org.jfree.data.statistics.SimpleHistogramDataset |