DefaultCategoryDataset underlying = new DefaultCategoryDataset(); underlying.addValue(1.1, "R1", "C1"); underlying.addValue(2.2, "R1", "C2"); CategoryToPieDataset d1 = new CategoryToPieDataset(underlying, TableOrder.BY_ROW, 0); assertEquals(0, d1.getIndex("C1")); assertEquals(1, d1.getIndex("C2")); assertEquals(-1, d1.getIndex("XX")); // try null boolean pass = false; try { d1.getIndex(null); } catch (IllegalArgumentException e) { pass = true; } assertTrue(pass);
DefaultKeyedValues v1 = new DefaultKeyedValues(); assertEquals(-1, v1.getIndex("K1")); DefaultKeyedValues v2 = new DefaultKeyedValues(); v2.addValue("K1", new Integer(1)); v2.addValue("K2", new Integer(2)); v2.addValue("K3", new Integer(3)); assertEquals(2, v2.getIndex("K3")); // try null boolean pass = false; try { v2.getIndex(null); } catch (IllegalArgumentException e) { pass = true; } assertTrue(pass);
Clone fragments detected by clone detection tool
File path: /jfreechart-1.0.10/tests/org/jfree/data/category/junit/CategoryToPieDatasetTests.java File path: /jfreechart-1.0.10/tests/org/jfree/data/junit/DefaultKeyedValuesTests.java
Method name: void testGetIndex() Method name: void testGetIndex()
Number of AST nodes: 11 Number of AST nodes: 11
1
DefaultCategoryDataset underlying = new DefaultCategoryDataset();
1
Default
2
        underlying.addValue(1.1, "R1", "C1");
3
        underlying.addValue(2.2, "R1", "C2"
2
KeyedValues v1 = new DefaultKeyedValues();
4
);
3
        assertEquals(-1, v1.getIndex("K1"));
5
        CategoryToPieDataset d1 = new CategoryToPieDataset(underlying, 
4
        
6
                TableOrder.BY_ROW, 0);
7
        assertEquals(0, d1.getIndex("C1"));
8
        assertEquals(1, d1.getIndex("C2"
5
DefaultKeyedValues v2 = new DefaultKeyedValues();
6
        v2.addValue("K1", new Integer(1));
7
        v2.addValue("K2", new Integer(2));
9
));
8
        v2.addValue("K3", new Integer(3));
10
        assertEquals(-1, d1.getIndex("XX"));
9
        assertEquals(2, v2.getIndex("K3"));
11
        
10
        
12
        // try null
11
        // try null
13
        boolean pass = false;
12
        boolean pass = false;
14
        try {
13
        try {
15
            d1.getIndex(null);
14
            v2.getIndex(null);
16
        }
15
        }
17
        catch (IllegalArgumentException e) {
16
        catch (IllegalArgumentException e) {
18
            pass = true;
17
            pass = true;
19
        }
18
        }
20
        assertTrue(pass);
19
        assertTrue(pass);
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.1
Clones locationClones are in different classes having the same super class
Number of node comparisons45
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements10
    Number of unmapped statements in the first code fragment1
    Number of unmapped statements in the second code fragment1
    Time elapsed for statement mapping (ms)43.6
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    1
    DefaultCategoryDataset underlying = new DefaultCategoryDataset();
    1
    DefaultCategoryDataset underlying = new DefaultCategoryDataset();
    3
    DefaultKeyedValues v2 = new DefaultKeyedValues();
    Differences
    Expression1Expression2Difference
    org.jfree.data.category.DefaultCategoryDatasetorg.jfree.data.DefaultKeyedValuesSUBCLASS_TYPE_MISMATCH
    underlyingv2VARIABLE_NAME_MISMATCH
    org.jfree.data.category.DefaultCategoryDatasetorg.jfree.data.DefaultKeyedValuesSUBCLASS_TYPE_MISMATCH
    org.jfree.data.category.DefaultCategoryDatasetorg.jfree.data.DefaultKeyedValuesSUBCLASS_TYPE_MISMATCH
    Preondition Violations
    Expression new DefaultCategoryDataset() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression new DefaultKeyedValues() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    3
    DefaultKeyedValues v2 = new DefaultKeyedValues();
    2
    underlying.addValue(1.1, "R1", "C1");
    2
    underlying.addValue(1.1, "R1", "C1");
    4
    v2.addValue("K1", new Integer(1));
    Differences
    Expression1Expression2Difference
    underlyingv2VARIABLE_NAME_MISMATCH
    org.jfree.data.category.DefaultCategoryDatasetorg.jfree.data.DefaultKeyedValuesSUBCLASS_TYPE_MISMATCH
    underlying.addValue(1.1,"R1","C1")v2.addValue("K1",new Integer(1))ARGUMENT_NUMBER_MISMATCH
    Preondition Violations
    Expression underlying cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression v2 cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression underlying cannot be unified with expression v2 , because common superclass org.jfree.util.PublicCloneable does not declare member(s) public void addValue(double, Comparable#RAW, Comparable#RAW) , public void addValue(Comparable#RAW, java.lang.Number)
    Expression underlying.addValue(1.1,"R1","C1") cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression v2.addValue("K1",new Integer(1)) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression underlying.addValue(1.1,"R1","C1") is a void method call, and thus it cannot be parameterized
    Expression v2.addValue("K1",new Integer(1)) is a void method call, and thus it cannot be parameterized
    4
    v2.addValue("K1", new Integer(1));
    3
    underlying.addValue(2.2, "R1", "C2");
    3
    underlying.addValue(2.2, "R1", "C2");
    5
    v2.addValue("K2", new Integer(2));
    Differences
    Expression1Expression2Difference
    underlyingv2VARIABLE_NAME_MISMATCH
    org.jfree.data.category.DefaultCategoryDatasetorg.jfree.data.DefaultKeyedValuesSUBCLASS_TYPE_MISMATCH
    underlying.addValue(2.2,"R1","C2")v2.addValue("K2",new Integer(2))ARGUMENT_NUMBER_MISMATCH
    Preondition Violations
    Expression underlying cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression v2 cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression underlying cannot be unified with expression v2 , because common superclass org.jfree.util.PublicCloneable does not declare member(s) public void addValue(double, Comparable#RAW, Comparable#RAW) , public void addValue(Comparable#RAW, java.lang.Number)
    Expression underlying.addValue(2.2,"R1","C2") cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression v2.addValue("K2",new Integer(2)) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression underlying.addValue(2.2,"R1","C2") is a void method call, and thus it cannot be parameterized
    Expression v2.addValue("K2",new Integer(2)) is a void method call, and thus it cannot be parameterized
    5
    v2.addValue("K2", new Integer(2));
    4
    CategoryToPieDataset d1 = new CategoryToPieDataset(underlying, TableOrder.BY_ROW, 0);
    4
    CategoryToPieDataset d1 = new CategoryToPieDataset(underlying, TableOrder.BY_ROW, 0);
    1
    DefaultKeyedValues v1 = new DefaultKeyedValues();
    Differences
    Expression1Expression2Difference
    org.jfree.data.category.CategoryToPieDatasetorg.jfree.data.DefaultKeyedValuesSUBCLASS_TYPE_MISMATCH
    d1v1VARIABLE_NAME_MISMATCH
    org.jfree.data.category.CategoryToPieDatasetorg.jfree.data.DefaultKeyedValuesSUBCLASS_TYPE_MISMATCH
    org.jfree.data.category.CategoryToPieDatasetorg.jfree.data.DefaultKeyedValuesSUBCLASS_TYPE_MISMATCH
    new CategoryToPieDataset(underlying,TableOrder.BY_ROW,0)new DefaultKeyedValues()ARGUMENT_NUMBER_MISMATCH
    Preondition Violations
    Expression new CategoryToPieDataset(underlying,TableOrder.BY_ROW,0) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression new DefaultKeyedValues() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression new CategoryToPieDataset(underlying,TableOrder.BY_ROW,0) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression new DefaultKeyedValues() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    1
    DefaultKeyedValues v1 = new DefaultKeyedValues();
    5
    assertEquals(0, d1.getIndex("C1"));
    5
    assertEquals(0, d1.getIndex("C1"));
    Preondition Violations
    Unmatched statement assertEquals(0,d1.getIndex("C1")); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                                              
    6
    assertEquals(1, d1.getIndex("C2"));
    6
    assertEquals(1, d1.getIndex("C2"));
    7
    assertEquals(2, v2.getIndex("K3"));
    Differences
    Expression1Expression2Difference
    12LITERAL_VALUE_MISMATCH
    "C2""K3"LITERAL_VALUE_MISMATCH
    d1v2VARIABLE_NAME_MISMATCH
    org.jfree.data.category.CategoryToPieDatasetorg.jfree.data.DefaultKeyedValuesSUBCLASS_TYPE_MISMATCH
    Preondition Violations
    Expression d1 cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression v2 cannot be parameterized, because it has dependencies to/from statements that will be extracted
    7
    assertEquals(2, v2.getIndex("K3"));
    7
    assertEquals(-1, d1.getIndex("XX"));
    7
    assertEquals(-1, d1.getIndex("XX"));
    2
    assertEquals(-1, v1.getIndex("K1"));
    Differences
    Expression1Expression2Difference
    "XX""K1"LITERAL_VALUE_MISMATCH
    d1v1VARIABLE_NAME_MISMATCH
    org.jfree.data.category.CategoryToPieDatasetorg.jfree.data.DefaultKeyedValuesSUBCLASS_TYPE_MISMATCH
    Preondition Violations
    Expression d1 cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression v1 cannot be parameterized, because it has dependencies to/from statements that will be extracted
    2
    assertEquals(-1, v1.getIndex("K1"));
                                                                            
    6
    v2.addValue("K3", new Integer(3));
    Preondition Violations
    Unmatched statement v2.addValue("K3",new Integer(3)); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    6
    v2.addValue("K3", new Integer(3));
    8
    boolean pass = false;
    8
    boolean pass = false;
    9
    try
    9
    try
    10
    d1.getIndex(null);
    10
    d1.getIndex(null);
    10
    v2.getIndex(null);
    Differences
    Expression1Expression2Difference
    d1v2VARIABLE_NAME_MISMATCH
    org.jfree.data.category.CategoryToPieDatasetorg.jfree.data.DefaultKeyedValuesSUBCLASS_TYPE_MISMATCH
    Preondition Violations
    Expression d1 cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression v2 cannot be parameterized, because it has dependencies to/from statements that will be extracted
    10
    v2.getIndex(null);
    11
    assertTrue(pass);
    11
    assertTrue(pass);
    Precondition Violations (28)
    Row Violation
    1Expression new DefaultCategoryDataset() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    2Expression new DefaultKeyedValues() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    3Expression underlying cannot be parameterized, because it has dependencies to/from statements that will be extracted
    4Expression v2 cannot be parameterized, because it has dependencies to/from statements that will be extracted
    5Expression underlying cannot be unified with expression v2 , because common superclass org.jfree.util.PublicCloneable does not declare member(s) public void addValue(double, Comparable#RAW, Comparable#RAW) , public void addValue(Comparable#RAW, java.lang.Number)
    6Expression underlying.addValue(1.1,"R1","C1") cannot be parameterized, because it has dependencies to/from statements that will be extracted
    7Expression v2.addValue("K1",new Integer(1)) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    8Expression underlying.addValue(1.1,"R1","C1") is a void method call, and thus it cannot be parameterized
    9Expression v2.addValue("K1",new Integer(1)) is a void method call, and thus it cannot be parameterized
    10Expression underlying cannot be parameterized, because it has dependencies to/from statements that will be extracted
    11Expression v2 cannot be parameterized, because it has dependencies to/from statements that will be extracted
    12Expression underlying cannot be unified with expression v2 , because common superclass org.jfree.util.PublicCloneable does not declare member(s) public void addValue(double, Comparable#RAW, Comparable#RAW) , public void addValue(Comparable#RAW, java.lang.Number)
    13Expression underlying.addValue(2.2,"R1","C2") cannot be parameterized, because it has dependencies to/from statements that will be extracted
    14Expression v2.addValue("K2",new Integer(2)) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    15Expression underlying.addValue(2.2,"R1","C2") is a void method call, and thus it cannot be parameterized
    16Expression v2.addValue("K2",new Integer(2)) is a void method call, and thus it cannot be parameterized
    17Expression new CategoryToPieDataset(underlying,TableOrder.BY_ROW,0) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    18Expression new DefaultKeyedValues() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    19Expression new CategoryToPieDataset(underlying,TableOrder.BY_ROW,0) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    20Expression new DefaultKeyedValues() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    21Unmatched statement assertEquals(0,d1.getIndex("C1")); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    22Expression d1 cannot be parameterized, because it has dependencies to/from statements that will be extracted
    23Expression v2 cannot be parameterized, because it has dependencies to/from statements that will be extracted
    24Expression d1 cannot be parameterized, because it has dependencies to/from statements that will be extracted
    25Expression v1 cannot be parameterized, because it has dependencies to/from statements that will be extracted
    26Unmatched statement v2.addValue("K3",new Integer(3)); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    27Expression d1 cannot be parameterized, because it has dependencies to/from statements that will be extracted
    28Expression v2 cannot be parameterized, because it has dependencies to/from statements that will be extracted