CandlestickRenderer r1 = new CandlestickRenderer(); // check defaults assertEquals(Color.green, r1.getUpPaint()); assertEquals(Color.red, r1.getDownPaint()); assertFalse(r1.getUseOutlinePaint()); assertTrue(r1.getDrawVolume()); assertEquals(Color.gray, r1.getVolumePaint()); assertEquals(-1.0, r1.getCandleWidth(), EPSILON);
CustomPieURLGenerator g1 = new CustomPieURLGenerator(); CustomPieURLGenerator g2 = new CustomPieURLGenerator(); assertTrue(g1.equals(g2)); Map m1 = new HashMap(); m1.put("A", "http://www.jfree.org/"); g1.addURLs(m1); assertFalse(g1.equals(g2)); g2.addURLs(m1); assertTrue(g1.equals(g2));
Clone fragments detected by clone detection tool
File path: /jfreechart-1.0.10/tests/org/jfree/chart/renderer/xy/junit/CandlestickRendererTests.java File path: /jfreechart-1.0.10/tests/org/jfree/chart/urls/junit/CustomPieURLGeneratorTests.java
Method name: void testConstructor() Method name: void testEquals()
Number of AST nodes: 7 Number of AST nodes: 9
1
CandlestickRenderer r1 = new CandlestickRenderer();
1
CustomPieURLGenerator g1 = new CustomPieURLGenerator();
2
        // check defaults
2
        
3
        assertEquals(Color.green, r1.getUpPaint(
3
CustomPieURLGenerator g2 = new CustomPieURLGenerator();
4
));
4
        assertTrue(g1.equals(g2));
5
        assertEquals(Color.red, r1.getDownPaint());
5
        
6
        assertFalse(r1.getUseOutlinePaint()
6
Map m1 = new HashMap();
7
        m1.put("A", "http://www.jfree.org/");
7
);
8
        g1.addURLs(m1);
8
        assertTrue(r1.getDrawVolume());
9
        assertFalse(g1.
9
        assertEquals(Color.gray, r1.getVolumePaint()
10
equals(g2));
10
);
11
        g2.addURLs(m1);
11
        assertEquals(-1.0, r1.getCandleWidth(), EPSILON);
12
        assertTrue(g1.equals(g2));
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 comparisons54
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements4
    Number of unmapped statements in the first code fragment3
    Number of unmapped statements in the second code fragment5
    Time elapsed for statement mapping (ms)0.0
    Clone typeType 3
    Mapped Statements
    ID Statement ID Statement
    1
    CandlestickRenderer r1 = new CandlestickRenderer();
    1
    CandlestickRenderer r1 = new CandlestickRenderer();
    1
    CustomPieURLGenerator g1 = new CustomPieURLGenerator();
    Differences
    Expression1Expression2Difference
    org.jfree.chart.renderer.xy.CandlestickRendererorg.jfree.chart.urls.CustomPieURLGeneratorSUBCLASS_TYPE_MISMATCH
    r1g1VARIABLE_NAME_MISMATCH
    org.jfree.chart.renderer.xy.CandlestickRendererorg.jfree.chart.urls.CustomPieURLGeneratorSUBCLASS_TYPE_MISMATCH
    org.jfree.chart.renderer.xy.CandlestickRendererorg.jfree.chart.urls.CustomPieURLGeneratorSUBCLASS_TYPE_MISMATCH
    Preondition Violations
    Expression new CandlestickRenderer() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression new CustomPieURLGenerator() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    1
    CustomPieURLGenerator g1 = new CustomPieURLGenerator();
                                                                                                                    
    2
    CustomPieURLGenerator g2 = new CustomPieURLGenerator();
    Preondition Violations
    Unmatched statement CustomPieURLGenerator g2=new CustomPieURLGenerator(); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    2
    CustomPieURLGenerator g2 = new CustomPieURLGenerator();
                                                    
    4
    Map m1 = new HashMap();
    Preondition Violations
    Unmatched statement Map m1=new HashMap(); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    4
    Map m1 = new HashMap();
                                                                                  
    5
    m1.put("A", "http://www.jfree.org/");
    Preondition Violations
    Unmatched statement m1.put("A","http://www.jfree.org/"); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    5
    m1.put("A", "http://www.jfree.org/");
                                        
    6
    g1.addURLs(m1);
    Preondition Violations
    Unmatched statement g1.addURLs(m1); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    6
    g1.addURLs(m1);
    2
    assertEquals(Color.green, r1.getUpPaint());
    2
    assertEquals(Color.green, r1.getUpPaint());
    7
    assertFalse(g1.equals(g2));
    Differences
    Expression1Expression2Difference
    assertEqualsassertFalseMETHOD_INVOCATION_NAME_MISMATCH
    assertEquals(Color.green,r1.getUpPaint())assertFalse(g1.equals(g2))ARGUMENT_NUMBER_MISMATCH
    Preondition Violations
    Expression assertEquals(Color.green,r1.getUpPaint()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression assertFalse(g1.equals(g2)) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression assertEquals(Color.green,r1.getUpPaint()) is a void method call, and thus it cannot be parameterized
    Expression assertFalse(g1.equals(g2)) is a void method call, and thus it cannot be parameterized
    Expression assertEquals(Color.green,r1.getUpPaint()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression assertFalse(g1.equals(g2)) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression assertEquals(Color.green,r1.getUpPaint()) is a void method call, and thus it cannot be parameterized
    Expression assertFalse(g1.equals(g2)) is a void method call, and thus it cannot be parameterized
    7
    assertFalse(g1.equals(g2));
    3
    assertEquals(Color.red, r1.getDownPaint());
    3
    assertEquals(Color.red, r1.getDownPaint());
    3
    assertTrue(g1.equals(g2));
    Differences
    Expression1Expression2Difference
    assertEqualsassertTrueMETHOD_INVOCATION_NAME_MISMATCH
    assertEquals(Color.red,r1.getDownPaint())assertTrue(g1.equals(g2))ARGUMENT_NUMBER_MISMATCH
    Preondition Violations
    Expression assertEquals(Color.red,r1.getDownPaint()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression assertTrue(g1.equals(g2)) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression assertEquals(Color.red,r1.getDownPaint()) is a void method call, and thus it cannot be parameterized
    Expression assertTrue(g1.equals(g2)) is a void method call, and thus it cannot be parameterized
    Expression assertEquals(Color.red,r1.getDownPaint()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression assertTrue(g1.equals(g2)) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression assertEquals(Color.red,r1.getDownPaint()) is a void method call, and thus it cannot be parameterized
    Expression assertTrue(g1.equals(g2)) is a void method call, and thus it cannot be parameterized
    3
    assertTrue(g1.equals(g2));
                                        
    8
    g2.addURLs(m1);
    Preondition Violations
    Unmatched statement g2.addURLs(m1); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    8
    g2.addURLs(m1);
    4
    assertFalse(r1.getUseOutlinePaint());
    4
    assertFalse(r1.getUseOutlinePaint());
    9
    assertTrue(g1.equals(g2));
    Differences
    Expression1Expression2Difference
    getUseOutlinePaintequalsMETHOD_INVOCATION_NAME_MISMATCH
    r1g1VARIABLE_NAME_MISMATCH
    org.jfree.chart.renderer.xy.CandlestickRendererorg.jfree.chart.urls.CustomPieURLGeneratorSUBCLASS_TYPE_MISMATCH
    r1.getUseOutlinePaint()g1.equals(g2)ARGUMENT_NUMBER_MISMATCH
    assertFalseassertTrueMETHOD_INVOCATION_NAME_MISMATCH
    Preondition Violations
    Expression r1.getUseOutlinePaint() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression g1.equals(g2) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression r1 cannot be unified with expression g1 , because common superclass org.jfree.util.PublicCloneable does not declare member(s) public boolean getUseOutlinePaint() , public boolean equals(java.lang.Object)
    Expression r1.getUseOutlinePaint() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression g1.equals(g2) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression assertFalse(r1.getUseOutlinePaint()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression assertTrue(g1.equals(g2)) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression assertFalse(r1.getUseOutlinePaint()) is a void method call, and thus it cannot be parameterized
    Expression assertTrue(g1.equals(g2)) is a void method call, and thus it cannot be parameterized
    9
    assertTrue(g1.equals(g2));
    5
    assertTrue(r1.getDrawVolume());
    5
    assertTrue(r1.getDrawVolume());
    Preondition Violations
    Unmatched statement assertTrue(r1.getDrawVolume()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                                        
    6
    assertEquals(Color.gray, r1.getVolumePaint());
    6
    assertEquals(Color.gray, r1.getVolumePaint());
    Preondition Violations
    Unmatched statement assertEquals(Color.gray,r1.getVolumePaint()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                                                                    
    7
    assertEquals(-1.0, r1.getCandleWidth(), EPSILON);
    7
    assertEquals(-1.0, r1.getCandleWidth(), EPSILON);
    Preondition Violations
    Unmatched statement assertEquals(-1.0,r1.getCandleWidth(),EPSILON); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                                                                        
    Precondition Violations (36)
    Row Violation
    1Expression new CandlestickRenderer() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    2Expression new CustomPieURLGenerator() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    3Unmatched statement CustomPieURLGenerator g2=new CustomPieURLGenerator(); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    4Unmatched statement Map m1=new HashMap(); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    5Unmatched statement m1.put("A","http://www.jfree.org/"); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    6Unmatched statement g1.addURLs(m1); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    7Expression assertEquals(Color.green,r1.getUpPaint()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    8Expression assertFalse(g1.equals(g2)) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    9Expression assertEquals(Color.green,r1.getUpPaint()) is a void method call, and thus it cannot be parameterized
    10Expression assertFalse(g1.equals(g2)) is a void method call, and thus it cannot be parameterized
    11Expression assertEquals(Color.green,r1.getUpPaint()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    12Expression assertFalse(g1.equals(g2)) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    13Expression assertEquals(Color.green,r1.getUpPaint()) is a void method call, and thus it cannot be parameterized
    14Expression assertFalse(g1.equals(g2)) is a void method call, and thus it cannot be parameterized
    15Expression assertEquals(Color.red,r1.getDownPaint()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    16Expression assertTrue(g1.equals(g2)) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    17Expression assertEquals(Color.red,r1.getDownPaint()) is a void method call, and thus it cannot be parameterized
    18Expression assertTrue(g1.equals(g2)) is a void method call, and thus it cannot be parameterized
    19Expression assertEquals(Color.red,r1.getDownPaint()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    20Expression assertTrue(g1.equals(g2)) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    21Expression assertEquals(Color.red,r1.getDownPaint()) is a void method call, and thus it cannot be parameterized
    22Expression assertTrue(g1.equals(g2)) is a void method call, and thus it cannot be parameterized
    23Unmatched statement g2.addURLs(m1); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    24Expression r1.getUseOutlinePaint() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    25Expression g1.equals(g2) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    26Expression r1 cannot be unified with expression g1 , because common superclass org.jfree.util.PublicCloneable does not declare member(s) public boolean getUseOutlinePaint() , public boolean equals(java.lang.Object)
    27Expression r1.getUseOutlinePaint() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    28Expression g1.equals(g2) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    29Expression assertFalse(r1.getUseOutlinePaint()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    30Expression assertTrue(g1.equals(g2)) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    31Expression assertFalse(r1.getUseOutlinePaint()) is a void method call, and thus it cannot be parameterized
    32Expression assertTrue(g1.equals(g2)) is a void method call, and thus it cannot be parameterized
    33Unmatched statement assertTrue(r1.getDrawVolume()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    34Unmatched statement assertEquals(Color.gray,r1.getVolumePaint()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    35Unmatched statement assertEquals(-1.0,r1.getCandleWidth(),EPSILON); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    36Clone fragment #1 returns variable r1 with type org.jfree.chart.renderer.xy.CandlestickRenderer , while Clone fragment #2 returns variable g1 with type org.jfree.chart.urls.CustomPieURLGenerator