AbstractXYItemRenderer renderer = new StandardXYItemRenderer(); // check the bounds of a simple dataset XYDataset dataset = createDataset1(); Range r = renderer.findDomainBounds(dataset); assertEquals(1.0, r.getLowerBound(), EPSILON); assertEquals(3.0, r.getUpperBound(), EPSILON); // check that a null dataset returns null bounds assertTrue(renderer.findDomainBounds(null) == null);
CategoryDataset d = createCategoryDataset1(); KeyToGroupMap map = new KeyToGroupMap("G0"); map.mapKeyToGroup("R2", "G1"); Range r = DatasetUtilities.findStackedRangeBounds(d, map); assertEquals(0.0, r.getLowerBound(), EPSILON); assertEquals(9.0, r.getUpperBound(), EPSILON);
Clone fragments detected by clone detection tool
File path: /jfreechart-1.0.10/tests/org/jfree/chart/renderer/xy/junit/AbstractXYItemRendererTests.java File path: /jfreechart-1.0.10/tests/org/jfree/data/general/junit/DatasetUtilitiesTests.java
Method name: void testFindDomainBounds() Method name: void testStackedRangeWithMap()
Number of AST nodes: 6 Number of AST nodes: 6
1
AbstractXYItemRenderer renderer = new StandardXYItemRenderer();
2
        
3
        // check the bounds of a simple dataset
4
        XYDataset dataset = createDataset1();
5
        Range r = renderer.findDomain
1
CategoryDataset d = createCategoryDataset1();
2
        KeyToGroupMap map = new KeyToGroupMap("G0");
3
        map.mapKeyToGroup("R2", "G1");
6
Bounds(dataset);
4
        Range r = DatasetUtilities.findStackedRangeBounds(d, map);
7
        assertEquals(1.0, r.getLowerBound(), EPSILON);
5
        assertEquals(0.0, r.getLowerBound(), EPSILON);
8
        assertEquals(3.0, r.getUpperBound(), EPSILON);
6
        assertEquals(9.0, r.getUpperBound(), EPSILON);
9
        
10
        // check that a null dataset returns null bounds
11
        assertTrue(renderer.findDomainBounds(null) == null);
Summary
Number of common nesting structure subtrees1
Number of refactorable cases0
Number of non-refactorable cases1
Time elapsed for finding largest common nesting structure subtrees (ms)0.0
Clones locationClones are in different classes having the same super class
Number of node comparisons36
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements4
    Number of unmapped statements in the first code fragment2
    Number of unmapped statements in the second code fragment2
    Time elapsed for statement mapping (ms)0.0
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    1
    AbstractXYItemRenderer renderer = new StandardXYItemRenderer();
    1
    AbstractXYItemRenderer renderer = new StandardXYItemRenderer();
    Preondition Violations
    Unmatched statement AbstractXYItemRenderer renderer=new StandardXYItemRenderer(); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
                                                                                                                                    
    2
    XYDataset dataset = createDataset1();
    2
    XYDataset dataset = createDataset1();
    1
    CategoryDataset d = createCategoryDataset1();
    Differences
    Expression1Expression2Difference
    org.jfree.data.xy.XYDatasetorg.jfree.data.category.CategoryDatasetSUBCLASS_TYPE_MISMATCH
    datasetdVARIABLE_NAME_MISMATCH
    org.jfree.data.xy.XYDatasetorg.jfree.data.category.CategoryDatasetSUBCLASS_TYPE_MISMATCH
    createDataset1createCategoryDataset1METHOD_INVOCATION_NAME_MISMATCH
    1
    CategoryDataset d = createCategoryDataset1();
                                                                                              
    2
    KeyToGroupMap map = new KeyToGroupMap("G0");
    Preondition Violations
    Unmatched statement KeyToGroupMap map=new KeyToGroupMap("G0"); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    2
    KeyToGroupMap map = new KeyToGroupMap("G0");
                                                                    
    3
    map.mapKeyToGroup("R2", "G1");
    Preondition Violations
    Unmatched statement map.mapKeyToGroup("R2","G1"); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    3
    map.mapKeyToGroup("R2", "G1");
    3
    Range r = renderer.findDomainBounds(dataset);
    3
    Range r = renderer.findDomainBounds(dataset);
    4
    Range r = DatasetUtilities.findStackedRangeBounds(d, map);
    Differences
    Expression1Expression2Difference
    renderer.findDomainBounds(dataset)DatasetUtilities.findStackedRangeBounds(d,map)TYPE_COMPATIBLE_REPLACEMENT
    Preondition Violations
    Expression renderer.findDomainBounds(dataset) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression DatasetUtilities.findStackedRangeBounds(d,map) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    4
    Range r = DatasetUtilities.findStackedRangeBounds(d, map);
    4
    assertEquals(1.0, r.getLowerBound(), EPSILON);
    4
    assertEquals(1.0, r.getLowerBound(), EPSILON);
    5
    assertEquals(0.0, r.getLowerBound(), EPSILON);
    Differences
    Expression1Expression2Difference
    1.00.0LITERAL_VALUE_MISMATCH
    5
    assertEquals(0.0, r.getLowerBound(), EPSILON);
    5
    assertEquals(3.0, r.getUpperBound(), EPSILON);
    5
    assertEquals(3.0, r.getUpperBound(), EPSILON);
    6
    assertEquals(9.0, r.getUpperBound(), EPSILON);
    Differences
    Expression1Expression2Difference
    3.09.0LITERAL_VALUE_MISMATCH
    6
    assertEquals(9.0, r.getUpperBound(), EPSILON);
    6
    assertTrue(renderer.findDomainBounds(null) == null);
                                                                                                                  
    Precondition Violations (5)
    Row Violation
    1Unmatched statement AbstractXYItemRenderer renderer=new StandardXYItemRenderer(); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    2Unmatched statement KeyToGroupMap map=new KeyToGroupMap("G0"); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    3Unmatched statement map.mapKeyToGroup("R2","G1"); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    4Expression renderer.findDomainBounds(dataset) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    5Expression DatasetUtilities.findStackedRangeBounds(d,map) cannot be parameterized, because it has dependencies to/from statements that will be extracted