DefaultXYDataset d = new DefaultXYDataset(); // check a series with no items d.addSeries("S1", new double[][] {{}, {}}); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 0, 10.0, 11.0)); // check a series with one item d.addSeries("S2", new double[][] {{1.0}, {2.0}}); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 1, 0.0, 1.1)); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 1, 2.0, 3.3)); // check a series with two items d.addSeries("S3", new double[][] {{1.0, 2.0}, {2.0, 2.0}}); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 2, 0.0, 1.1)); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 2, 1.0, 2.2)); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 2, 2.0, 3.3)); assertEquals(1, RendererUtilities.findLiveItemsLowerBound(d, 2, 3.0, 4.4)); // check a series with three items d.addSeries("S4", new double[][] {{1.0, 2.0, 1.5}, {2.0, 2.0, 2.0}}); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 3, 0.0, 1.1)); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 3, 1.0, 2.2)); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 3, 2.0, 3.3)); assertEquals(2, RendererUtilities.findLiveItemsLowerBound(d, 3, 3.0, 4.4)); // check a series with four items d.addSeries("S5", new double[][] {{1.0, 2.0, 1.5, 1.8}, {2.0, 2.0, 2.0, 2.0}}); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 4, 0.0, 1.1)); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 4, 1.0, 2.2)); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 4, 2.0, 3.3)); assertEquals(3, RendererUtilities.findLiveItemsLowerBound(d, 4, 3.0, 4.4)); assertEquals(3, RendererUtilities.findLiveItemsLowerBound(d, 4, 4.0, 5.5));
DefaultXYDataset d = new DefaultXYDataset() { public DomainOrder getDomainOrder() { // we're doing this for testing only, and make sure that we // only add data in ascending order by x-value return DomainOrder.ASCENDING; } }; // check a series with no items d.addSeries("S1", new double[][] {{}, {}}); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 0, 10.0, 11.1)); // check a series with one item d.addSeries("S2", new double[][] {{1.0}, {2.0}}); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 1, 0.0, 1.1)); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 1, 2.0, 2.2)); // check a series with two items d.addSeries("S3", new double[][] {{1.0, 2.0}, {2.0, 2.0}}); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 2, 0.0, 1.1)); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 2, 1.0, 2.2)); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 2, 2.0, 3.3)); assertEquals(1, RendererUtilities.findLiveItemsLowerBound(d, 2, 3.0, 4.4)); // check a series with three items d.addSeries("S4", new double[][] {{1.0, 2.0, 3.0}, {2.0, 2.0, 2.0}}); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 3, 0.0, 1.1)); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 3, 1.0, 2.2)); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 3, 2.0, 3.3)); assertEquals(1, RendererUtilities.findLiveItemsLowerBound(d, 3, 3.0, 4.4)); // check a series with four items d.addSeries("S5", new double[][] {{1.0, 2.0, 3.0, 4.0}, {2.0, 2.0, 2.0, 2.0}}); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 4, 0.0, 1.1)); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 4, 1.0, 2.2)); assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 4, 2.0, 3.3)); assertEquals(1, RendererUtilities.findLiveItemsLowerBound(d, 4, 3.0, 4.4)); assertEquals(2, RendererUtilities.findLiveItemsLowerBound(d, 4, 4.0, 5.5));
Clone fragments detected by clone detection tool
File path: /jfreechart-1.0.10/tests/org/jfree/chart/renderer/junit/RendererUtilitiesTests.java File path: /jfreechart-1.0.10/tests/org/jfree/chart/renderer/junit/RendererUtilitiesTests.java
Method name: void testFindLiveItemsLowerBoundUnordered() Method name: void testFindLiveItemsLowerBoundAscending()
Number of AST nodes: 22 Number of AST nodes: 22
1
DefaultXYDataset d = new DefaultXYDataset();
1
DefaultXYDataset d = new DefaultXYDataset()
2
        
2
 {
3
            public DomainOrder getDomainOrder() {
4
                // we're doing this for testing only, and make sure that we 
5
                // only add data in ascending order by x-value
6
                return DomainOrder.ASCENDING;
7
            }
8
        };
3
        // check a series with no items
9
        // check a series with no items
4
        d.addSeries("S1", new double[][] {{}, {}});
10
        d.addSeries("S1", new double[][] {{}, {}});
5
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 0, 10.0, 
11
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 0, 10.0, 
6
                11.0));
12
                11.1));
7
        
13
        
8
        // check a series with one item
14
        // check a series with one item
9
        d.addSeries("S2", new double[][] {{1.0}, {2.0}});
15
        d.addSeries("S2", new double[][] {{1.0}, {2.0}});
10
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 1, 0.0, 
16
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 1, 0.0, 
11
                1.1));
17
                1.1));
12
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 1, 2.0, 
18
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 1, 2.0, 
13
                3.3));
19
                2.2));
14
        
20
        
15
        // check a series with two items
21
        // check a series with two items
16
        d.addSeries("S3", new double[][] {{1.0, 2.0}, {2.0, 2.0}});
22
        d.addSeries("S3", new double[][] {{1.0, 2.0}, {2.0, 2.0}});
17
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 2, 0.0, 
23
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 2, 0.0, 
18
                1.1));
24
                1.1));
19
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 2, 1.0, 
25
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 2, 1.0, 
20
                2.2));
26
                2.2));
21
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 2, 2.0, 
27
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 2, 2.0, 
22
                3.3));
28
                3.3));
23
        assertEquals(1, RendererUtilities.findLiveItemsLowerBound(d, 2, 3.0, 
29
        assertEquals(1, RendererUtilities.findLiveItemsLowerBound(d, 2, 3.0, 
24
                4.4));
30
                4.4));
25
        
31
        
26
        // check a series with three items
32
        // check a series with three items
27
        d.addSeries("S4", new double[][] {{1.0, 2.0, 1.5}, {2.0, 2.0, 2.0}});
33
        d.addSeries("S4", new double[][] {{1.0, 2.0, 3.0}, {2.0, 2.0, 2.0}});
28
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 3, 0.0, 
34
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 3, 0.0, 
29
                1.1));
35
                1.1));
30
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 3, 1.0, 
36
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 3, 1.0, 
31
                2.2));
37
                2.2));
32
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 3, 2.0, 
38
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 3, 2.0, 
33
                3.3));
39
                3.3));
34
        assertEquals(2, RendererUtilities.findLiveItemsLowerBound(d, 3, 3.0, 
40
        assertEquals(1, RendererUtilities.findLiveItemsLowerBound(d, 3, 3.0, 
35
                4.4));
41
                4.4));
36
        
42
        
37
        // check a series with four items
43
        // check a series with four items
38
        d.addSeries("S5", new double[][] {{1.0, 2.0, 1.5, 1.8}, {2.0, 2.0, 
44
        d.addSeries("S5", new double[][] {{1.0, 2.0, 3.0, 4.0}, {2.0, 2.0, 
39
                2.0, 2.0}});
45
                2.0, 2.0}});
40
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 4, 0.0, 
46
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 4, 0.0, 
41
                1.1));
47
                1.1));
42
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 4, 1.0, 
48
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 4, 1.0, 
43
                2.2));
49
                2.2));
44
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 4, 2.0, 
50
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 4, 2.0, 
45
                3.3));
51
                3.3));
46
        assertEquals(3, RendererUtilities.findLiveItemsLowerBound(d, 4, 3.0, 
52
        assertEquals(1, RendererUtilities.findLiveItemsLowerBound(d, 4, 3.0, 
47
                4.4));
53
                4.4));
48
        assertEquals(3, RendererUtilities.findLiveItemsLowerBound(d, 4, 4.0, 
54
        assertEquals(2, RendererUtilities.findLiveItemsLowerBound(d, 4, 4.0, 
49
                5.5));
55
                5.5));
Summary
Number of common nesting structure subtrees1
Number of refactorable cases1
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.0
Clones locationClones are declared in the same class
Number of node comparisons324
  1. {Refactorable}
    Mapping Summary
    Number of mapped statements21
    Number of unmapped statements in the first code fragment1
    Number of unmapped statements in the second code fragment1
    Time elapsed for statement mapping (ms)0.0
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
                                                                                                                                                                                                                                                                
    1
    DefaultXYDataset d = new DefaultXYDataset() {...};
    Preondition Violations
    Unmatched statement DefaultXYDataset d=new DefaultXYDataset(){ public DomainOrder getDomainOrder(){ return DomainOrder.ASCENDING; } } ; cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    1
    DefaultXYDataset d = new DefaultXYDataset() {...};
    1
    DefaultXYDataset d = new DefaultXYDataset();
    1
    DefaultXYDataset d = new DefaultXYDataset();
    Preondition Violations
    Unmatched statement DefaultXYDataset d=new DefaultXYDataset(); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
                                                                                              
    2
    d.addSeries("S1", new double[][] {{}, {}});
    2
    d.addSeries("S1", new double[][] {{}, {}});
    3
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 0, 10.0, 11.0));
    3
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 0, 10.0, 11.0));
    3
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 0, 10.0, 11.1));
    Differences
    Expression1Expression2Difference
    11.011.1LITERAL_VALUE_MISMATCH
    3
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 0, 10.0, 11.1));
    4
    d.addSeries("S2", new double[][] {{1.0}, {2.0}});
    4
    d.addSeries("S2", new double[][] {{1.0}, {2.0}});
    5
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 1, 0.0, 1.1));
    5
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 1, 0.0, 1.1));
    6
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 1, 2.0, 3.3));
    6
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 1, 2.0, 3.3));
    6
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 1, 2.0, 2.2));
    Differences
    Expression1Expression2Difference
    3.32.2LITERAL_VALUE_MISMATCH
    6
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 1, 2.0, 2.2));
    7
    d.addSeries("S3", new double[][] {{1.0, 2.0}, {2.0, 2.0}});
    7
    d.addSeries("S3", new double[][] {{1.0, 2.0}, {2.0, 2.0}});
    8
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 2, 0.0, 1.1));
    8
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 2, 0.0, 1.1));
    9
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 2, 1.0, 2.2));
    9
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 2, 1.0, 2.2));
    10
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 2, 2.0, 3.3));
    10
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 2, 2.0, 3.3));
    11
    assertEquals(1, RendererUtilities.findLiveItemsLowerBound(d, 2, 3.0, 4.4));
    11
    assertEquals(1, RendererUtilities.findLiveItemsLowerBound(d, 2, 3.0, 4.4));
    12
    d.addSeries("S4", new double[][] {{1.0, 2.0, 1.5}, {2.0, 2.0, 2.0}});
    12
    d.addSeries("S4", new double[][] {{1.0, 2.0, 1.5}, {2.0, 2.0, 2.0}});
    12
    d.addSeries("S4", new double[][] {{1.0, 2.0, 3.0}, {2.0, 2.0, 2.0}});
    Differences
    Expression1Expression2Difference
    1.53.0LITERAL_VALUE_MISMATCH
    12
    d.addSeries("S4", new double[][] {{1.0, 2.0, 3.0}, {2.0, 2.0, 2.0}});
    13
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 3, 0.0, 1.1));
    13
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 3, 0.0, 1.1));
    14
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 3, 1.0, 2.2));
    14
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 3, 1.0, 2.2));
    15
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 3, 2.0, 3.3));
    15
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 3, 2.0, 3.3));
    16
    assertEquals(2, RendererUtilities.findLiveItemsLowerBound(d, 3, 3.0, 4.4));
    16
    assertEquals(2, RendererUtilities.findLiveItemsLowerBound(d, 3, 3.0, 4.4));
    16
    assertEquals(1, RendererUtilities.findLiveItemsLowerBound(d, 3, 3.0, 4.4));
    Differences
    Expression1Expression2Difference
    21LITERAL_VALUE_MISMATCH
    16
    assertEquals(1, RendererUtilities.findLiveItemsLowerBound(d, 3, 3.0, 4.4));
    17
    d.addSeries("S5", new double[][] {{1.0, 2.0, 1.5, 1.8}, {2.0, 2.0, 2.0, 2.0}});
    17
    d.addSeries("S5", new double[][] {{1.0, 2.0, 1.5, 1.8}, {2.0, 2.0, 2.0, 2.0}});
    17
    d.addSeries("S5", new double[][] {{1.0, 2.0, 3.0, 4.0}, {2.0, 2.0, 2.0, 2.0}});
    Differences
    Expression1Expression2Difference
    1.53.0LITERAL_VALUE_MISMATCH
    1.84.0LITERAL_VALUE_MISMATCH
    17
    d.addSeries("S5", new double[][] {{1.0, 2.0, 3.0, 4.0}, {2.0, 2.0, 2.0, 2.0}});
    18
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 4, 0.0, 1.1));
    18
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 4, 0.0, 1.1));
    19
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 4, 1.0, 2.2));
    19
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 4, 1.0, 2.2));
    20
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 4, 2.0, 3.3));
    20
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 4, 2.0, 3.3));
    21
    assertEquals(3, RendererUtilities.findLiveItemsLowerBound(d, 4, 3.0, 4.4));
    21
    assertEquals(3, RendererUtilities.findLiveItemsLowerBound(d, 4, 3.0, 4.4));
    21
    assertEquals(1, RendererUtilities.findLiveItemsLowerBound(d, 4, 3.0, 4.4));
    Differences
    Expression1Expression2Difference
    31LITERAL_VALUE_MISMATCH
    21
    assertEquals(1, RendererUtilities.findLiveItemsLowerBound(d, 4, 3.0, 4.4));
    22
    assertEquals(3, RendererUtilities.findLiveItemsLowerBound(d, 4, 4.0, 5.5));
    22
    assertEquals(3, RendererUtilities.findLiveItemsLowerBound(d, 4, 4.0, 5.5));
    22
    assertEquals(2, RendererUtilities.findLiveItemsLowerBound(d, 4, 4.0, 5.5));
    Differences
    Expression1Expression2Difference
    32LITERAL_VALUE_MISMATCH
    22
    assertEquals(2, RendererUtilities.findLiveItemsLowerBound(d, 4, 4.0, 5.5));
    Precondition Violations (2)
    Row Violation
    1Unmatched statement DefaultXYDataset d=new DefaultXYDataset(){ public DomainOrder getDomainOrder(){ return DomainOrder.ASCENDING; } } ; cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    2Unmatched statement DefaultXYDataset d=new DefaultXYDataset(); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted