double[] starts_S1 = new double[] {0.1, 0.2, 0.3}; double[] starts_S2 = new double[] {0.3, 0.4, 0.5}; double[] ends_S1 = new double[] {0.5, 0.6, 0.7}; double[] ends_S2 = new double[] {0.7, 0.8, 0.9}; double[][] starts = new double[][] {starts_S1, starts_S2}; double[][] ends = new double[][] {ends_S1, ends_S2}; DefaultIntervalCategoryDataset d = new DefaultIntervalCategoryDataset(starts, ends); assertEquals(2, d.getRowCount()); assertEquals(3, d.getColumnCount());
DefaultXYDataset d = new DefaultXYDataset(); double[] x1 = new double[] {1.0, 2.0, 3.0}; double[] y1 = new double[] {4.0, 5.0, 6.0}; double[][] data1 = new double[][] {x1, y1}; d.addSeries("S1", data1); double[] x2 = new double[] {1.0, 2.0, 3.0}; double[] y2 = new double[] {4.0, 5.0, 6.0}; double[][] data2 = new double[][] {x2, y2}; d.addSeries("S2", data2); return d;
Clone fragments detected by clone detection tool
File path: /jfreechart-1.0.10/tests/org/jfree/data/category/junit/DefaultIntervalCategoryDatasetTests.java File path: /jfreechart-1.0.10/tests/org/jfree/data/xy/junit/DefaultXYDatasetTests.java
Method name: void testGetRowAndColumnCount() Method name: DefaultXYDataset createSampleDataset1()
Number of AST nodes: 9 Number of AST nodes: 10
1
double[] starts_S1 = new double[] {0.1, 0.2, 0.3};
1
DefaultXYDataset d = new DefaultXYDataset();
2
        double[] starts_S2 = new double[] {0.3, 0.4, 0.5};
2
        double[] x1 = new double[] {1.0, 2.0, 3.0};
3
        double[] ends_S1 = new double[] {0.5, 0.6, 0.7};
3
        double[] y1 = new double[] {4.0, 5.0, 6.0};
4
        double[] ends_S2 = new double[] {0.7, 0.8, 0.9};
4
        double[][] data1 = new double[][] {x1, y1};
5
        d.addSeries("S1", data1);
5
        double[][] starts = new double[][] {starts_S1, starts_S2};
6
        double[] x2 = new double[] {1.0, 2.0, 3.0};
6
        double[][] ends = new double[][] {ends_S1, ends_S2};
7
        double[] y2 = new double[]
7
        DefaultIntervalCategoryDataset d 
8
                = new DefaultIntervalCategoryDataset(starts, ends);        
9
        assertEquals(2, d.getRowCount());
10
        assertEquals(3, d.getColumnCount())
8
 {4.0, 5.0, 6.0};
9
        double[][] data2 = new double[][] {x2, y2};
10
        d.addSeries("S2", data2);
11
;
11
        return d;
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 comparisons75
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements7
    Number of unmapped statements in the first code fragment2
    Number of unmapped statements in the second code fragment3
    Time elapsed for statement mapping (ms)0.0
    Clone typeType 3
    Mapped Statements
    ID Statement ID Statement
    1
    double[] starts_S1 = new double[] {0.1, 0.2, 0.3};
    1
    double[] starts_S1 = new double[] {0.1, 0.2, 0.3};
    2
    double[] x1 = new double[] {1.0, 2.0, 3.0};
    Differences
    Expression1Expression2Difference
    starts_S1x1VARIABLE_NAME_MISMATCH
    0.11.0LITERAL_VALUE_MISMATCH
    0.22.0LITERAL_VALUE_MISMATCH
    0.33.0LITERAL_VALUE_MISMATCH
    2
    double[] x1 = new double[] {1.0, 2.0, 3.0};
    2
    double[] starts_S2 = new double[] {0.3, 0.4, 0.5};
    2
    double[] starts_S2 = new double[] {0.3, 0.4, 0.5};
    3
    double[] y1 = new double[] {4.0, 5.0, 6.0};
    Differences
    Expression1Expression2Difference
    starts_S2y1VARIABLE_NAME_MISMATCH
    0.34.0LITERAL_VALUE_MISMATCH
    0.45.0LITERAL_VALUE_MISMATCH
    0.56.0LITERAL_VALUE_MISMATCH
    3
    double[] y1 = new double[] {4.0, 5.0, 6.0};
    3
    double[] ends_S1 = new double[] {0.5, 0.6, 0.7};
    3
    double[] ends_S1 = new double[] {0.5, 0.6, 0.7};
    6
    double[] x2 = new double[] {1.0, 2.0, 3.0};
    Differences
    Expression1Expression2Difference
    ends_S1x2VARIABLE_NAME_MISMATCH
    0.51.0LITERAL_VALUE_MISMATCH
    0.62.0LITERAL_VALUE_MISMATCH
    0.73.0LITERAL_VALUE_MISMATCH
    6
    double[] x2 = new double[] {1.0, 2.0, 3.0};
    4
    double[] ends_S2 = new double[] {0.7, 0.8, 0.9};
    4
    double[] ends_S2 = new double[] {0.7, 0.8, 0.9};
    7
    double[] y2 = new double[] {4.0, 5.0, 6.0};
    Differences
    Expression1Expression2Difference
    ends_S2y2VARIABLE_NAME_MISMATCH
    0.74.0LITERAL_VALUE_MISMATCH
    0.85.0LITERAL_VALUE_MISMATCH
    0.96.0LITERAL_VALUE_MISMATCH
    7
    double[] y2 = new double[] {4.0, 5.0, 6.0};
    5
    double[][] starts = new double[][] {starts_S1, starts_S2};
    5
    double[][] starts = new double[][] {starts_S1, starts_S2};
    4
    double[][] data1 = new double[][] {x1, y1};
    Differences
    Expression1Expression2Difference
    startsdata1VARIABLE_NAME_MISMATCH
    starts_S1x1VARIABLE_NAME_MISMATCH
    starts_S2y1VARIABLE_NAME_MISMATCH
    4
    double[][] data1 = new double[][] {x1, y1};
    6
    double[][] ends = new double[][] {ends_S1, ends_S2};
    6
    double[][] ends = new double[][] {ends_S1, ends_S2};
    8
    double[][] data2 = new double[][] {x2, y2};
    Differences
    Expression1Expression2Difference
    endsdata2VARIABLE_NAME_MISMATCH
    ends_S1x2VARIABLE_NAME_MISMATCH
    ends_S2y2VARIABLE_NAME_MISMATCH
    8
    double[][] data2 = new double[][] {x2, y2};
    7
    DefaultIntervalCategoryDataset d = new DefaultIntervalCategoryDataset(starts, ends);
    7
    DefaultIntervalCategoryDataset d = new DefaultIntervalCategoryDataset(starts, ends);
    1
    DefaultXYDataset d = new DefaultXYDataset();
    Differences
    Expression1Expression2Difference
    org.jfree.data.category.DefaultIntervalCategoryDatasetorg.jfree.data.xy.DefaultXYDatasetSUBCLASS_TYPE_MISMATCH
    org.jfree.data.category.DefaultIntervalCategoryDatasetorg.jfree.data.xy.DefaultXYDatasetSUBCLASS_TYPE_MISMATCH
    org.jfree.data.category.DefaultIntervalCategoryDatasetorg.jfree.data.xy.DefaultXYDatasetSUBCLASS_TYPE_MISMATCH
    new DefaultIntervalCategoryDataset(starts,ends)new DefaultXYDataset()ARGUMENT_NUMBER_MISMATCH
    Preondition Violations
    Expression new DefaultIntervalCategoryDataset(starts,ends) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression new DefaultXYDataset() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression new DefaultIntervalCategoryDataset(starts,ends) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression new DefaultXYDataset() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    1
    DefaultXYDataset d = new DefaultXYDataset();
                                                          
    5
    d.addSeries("S1", data1);
    Preondition Violations
    Unmatched statement d.addSeries("S1",data1); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    5
    d.addSeries("S1", data1);
    8
    assertEquals(2, d.getRowCount());
    8
    assertEquals(2, d.getRowCount());
    Preondition Violations
    Unmatched statement assertEquals(2,d.getRowCount()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                                          
                                                          
    9
    d.addSeries("S2", data2);
    Preondition Violations
    Unmatched statement d.addSeries("S2",data2); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    9
    d.addSeries("S2", data2);
    9
    assertEquals(3, d.getColumnCount());
    9
    assertEquals(3, d.getColumnCount());
    Preondition Violations
    Unmatched statement assertEquals(3,d.getColumnCount()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                                                
                              
    10
    return d;
    Preondition Violations
    Unmatched statement return d; cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    Unmatched return d;
    10
    return d;
    Precondition Violations (11)
    Row Violation
    1Expression new DefaultIntervalCategoryDataset(starts,ends) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    2Expression new DefaultXYDataset() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    3Expression new DefaultIntervalCategoryDataset(starts,ends) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    4Expression new DefaultXYDataset() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    5Unmatched statement d.addSeries("S1",data1); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    6Unmatched statement assertEquals(2,d.getRowCount()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    7Unmatched statement d.addSeries("S2",data2); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    8Unmatched statement assertEquals(3,d.getColumnCount()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    9Unmatched statement return d; cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    10Unmatched return d;
    11Clone fragment #1 returns variables d , while Clone fragment #2 returns variables d, data1, data2