File path: /jfreechart-1.0.10/tests/org/jfree/data/general/junit/DatasetUtilitiesTests.java | File path: /jfreechart-1.0.10/tests/org/jfree/data/junit/DefaultKeyedValueTests.java | |||
Method name: void testIsEmptyOrNullXYDataset()
|
Method name: void testCloning()
|
|||
Number of AST nodes: 11 | Number of AST nodes: 9 | |||
1 | XYSeriesCollection dataset = null;↵ | |||
2 | assertTrue(DatasetUtilities.isEmptyOrNull(dataset));↵ | |||
3 | dataset = new XYSeriesCollecti↵ | 1 | DefaultKeyedValue v1 = new DefaultKeyedValue("Test", new Double(45.5));↵ | |
2 | DefaultKeyedValue v2 = null;↵ | |||
3 | try {↵ | |||
4 | on();↵ | 4 | v2 = (DefaultKeyedValue) v1.clone();↵ | |
5 | assertTrue(DatasetUtilities.isEmptyOrNull(dataset));↵ | 5 | ↵ | |
6 | XYSeries s1 = new XYSeries("S1");↵ | |||
7 | dataset.addSeries(s1);↵ | |||
8 | assertTrue(DatasetUtilities.isEmptyOrNull(dataset));↵ | |||
9 | s1.add(1.0, 2.0);↵ | |||
10 | assertFalse(DatasetUtilities.isEmptyOrNull(dataset));↵ | |||
11 | s1.clear();↵ | |||
12 | assertTrue(DatasetUtilities.isEmptyOrNull(dataset↵ | 6 | }↵ | |
7 | catch (CloneNotSupportedException e) {↵ | |||
8 | System.err.println("Failed to clone.");↵ | |||
9 | }↵ | |||
10 | assertTrue(v1 != v2);↵ | |||
11 | assertTrue(v1.getClass() == v2.getClass());↵ | |||
12 | assertTrue(v1.equals(v2));↵ | |||
13 | ↵ | |||
14 | // confirm that the clone is independent of the original↵ | |||
15 | v2.setValue(new Double(12.3));↵ | |||
13 | )); | 16 | assertFalse(v1.equals(v2)); | |
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 | 65 |
Number of mapped statements | 5 |
Number of unmapped statements in the first code fragment | 6 |
Number of unmapped statements in the second code fragment | 2 |
Time elapsed for statement mapping (ms) | 0.0 |
Clone type | Type 3 |
ID | Statement | ID | Statement | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| 1 | DefaultKeyedValue v1 = new DefaultKeyedValue("Test", new Double(45.5)); | |||||||||||||||||
1 | XYSeriesCollection dataset = null; |
| 2 | DefaultKeyedValue v2 = null; | ||||||||||||||||
2 | assertTrue(DatasetUtilities.isEmptyOrNull(dataset)); |
| 6 | assertTrue(v1.getClass() == v2.getClass()); | ||||||||||||||||
3 | dataset = new XYSeriesCollection(); |
| | |||||||||||||||||
4 | assertTrue(DatasetUtilities.isEmptyOrNull(dataset)); |
| 5 | assertTrue(v1 != v2); | ||||||||||||||||
5 | XYSeries s1 = new XYSeries("S1"); |
| | |||||||||||||||||
6 | dataset.addSeries(s1); |
| | |||||||||||||||||
7 | assertTrue(DatasetUtilities.isEmptyOrNull(dataset)); |
| 7 | assertTrue(v1.equals(v2)); | ||||||||||||||||
|
| 8 | v2.setValue(new Double(12.3)); | |||||||||||||||||
8 | s1.add(1.0, 2.0); |
| | |||||||||||||||||
9 | assertFalse(DatasetUtilities.isEmptyOrNull(dataset)); |
| 9 | assertFalse(v1.equals(v2)); | ||||||||||||||||
10 | s1.clear(); |
| | |||||||||||||||||
11 | assertTrue(DatasetUtilities.isEmptyOrNull(dataset)); | |
Row | Violation |
---|---|
1 | Unmatched statement DefaultKeyedValue v1=new DefaultKeyedValue("Test",new Double(45.5)); 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 v1.getClass() == v2.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 v1 != v2 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 v1.equals(v2) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
11 | Unmatched statement v2.setValue(new Double(12.3)); 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 v1.equals(v2) 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 v2 with type org.jfree.data.DefaultKeyedValue |