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.findLiveItemsUpperBound(d, 0, 10.0, 11.1)); // check a series with one item d.addSeries("S2", new double[][] {{1.0}, {2.0}}); assertEquals(0, RendererUtilities.findLiveItemsUpperBound(d, 1, 0.0, 1.1)); assertEquals(0, RendererUtilities.findLiveItemsUpperBound(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(1, RendererUtilities.findLiveItemsUpperBound(d, 2, 0.0, 1.0)); assertEquals(1, RendererUtilities.findLiveItemsUpperBound(d, 2, 1.0, 2.2)); assertEquals(1, RendererUtilities.findLiveItemsUpperBound(d, 2, 2.0, 3.3)); assertEquals(1, RendererUtilities.findLiveItemsUpperBound(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(1, RendererUtilities.findLiveItemsUpperBound(d, 3, 0.0, 1.1)); assertEquals(2, RendererUtilities.findLiveItemsUpperBound(d, 3, 1.0, 2.2)); assertEquals(2, RendererUtilities.findLiveItemsUpperBound(d, 3, 2.0, 3.3)); assertEquals(2, RendererUtilities.findLiveItemsUpperBound(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(1, RendererUtilities.findLiveItemsUpperBound(d, 4, 0.0, 1.1)); assertEquals(2, RendererUtilities.findLiveItemsUpperBound(d, 4, 1.0, 2.2)); assertEquals(3, RendererUtilities.findLiveItemsUpperBound(d, 4, 2.0, 3.3)); assertEquals(3, RendererUtilities.findLiveItemsUpperBound(d, 4, 3.0, 4.4)); assertEquals(3, RendererUtilities.findLiveItemsUpperBound(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 testFindLiveItemsUpperBoundAscending()
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.findLiveItemsUpperBound(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.findLiveItemsUpperBound(d, 1, 0.0, 
11
                1.1));
17
                1.1));
12
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 1, 2.0, 
18
        assertEquals(0, RendererUtilities.findLiveItemsUpperBound(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(1, RendererUtilities.findLiveItemsUpperBound(d, 2, 0.0, 
18
                1.1));
24
                1.0));
19
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 2, 1.0, 
25
        assertEquals(1, RendererUtilities.findLiveItemsUpperBound(d, 2, 1.0, 
20
                2.2));
26
                2.2));
21
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 2, 2.0, 
27
        assertEquals(1, RendererUtilities.findLiveItemsUpperBound(d, 2, 2.0, 
22
                3.3));
28
                3.3));
23
        assertEquals(1, RendererUtilities.findLiveItemsLowerBound(d, 2, 3.0, 
29
        assertEquals(1, RendererUtilities.findLiveItemsUpperBound(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(1, RendererUtilities.findLiveItemsUpperBound(d, 3, 0.0, 
29
                1.1));
35
                1.1));
30
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 3, 1.0, 
36
        assertEquals(2, RendererUtilities.findLiveItemsUpperBound(d, 3, 1.0, 
31
                2.2));
37
                2.2));
32
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 3, 2.0, 
38
        assertEquals(2, RendererUtilities.findLiveItemsUpperBound(d, 3, 2.0, 
33
                3.3));
39
                3.3));
34
        assertEquals(2, RendererUtilities.findLiveItemsLowerBound(d, 3, 3.0, 
40
        assertEquals(2, RendererUtilities.findLiveItemsUpperBound(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(1, RendererUtilities.findLiveItemsUpperBound(d, 4, 0.0, 
41
                1.1));
47
                1.1));
42
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 4, 1.0, 
48
        assertEquals(2, RendererUtilities.findLiveItemsUpperBound(d, 4, 1.0, 
43
                2.2));
49
                2.2));
44
        assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 4, 2.0, 
50
        assertEquals(3, RendererUtilities.findLiveItemsUpperBound(d, 4, 2.0, 
45
                3.3));
51
                3.3));
46
        assertEquals(3, RendererUtilities.findLiveItemsLowerBound(d, 4, 3.0, 
52
        assertEquals(3, RendererUtilities.findLiveItemsUpperBound(d, 4, 3.0, 
47
                4.4));
53
                4.4));
48
        assertEquals(3, RendererUtilities.findLiveItemsLowerBound(d, 4, 4.0, 
54
        assertEquals(3, RendererUtilities.findLiveItemsUpperBound(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.findLiveItemsUpperBound(d, 0, 10.0, 11.1));
    Differences
    Expression1Expression2Difference
    11.011.1LITERAL_VALUE_MISMATCH
    findLiveItemsLowerBoundfindLiveItemsUpperBoundMETHOD_INVOCATION_NAME_MISMATCH
    Preondition Violations
    Expression RendererUtilities.findLiveItemsLowerBound(d,0,10.0,11.0) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression RendererUtilities.findLiveItemsUpperBound(d,0,10.0,11.1) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    3
    assertEquals(0, RendererUtilities.findLiveItemsUpperBound(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));
    5
    assertEquals(0, RendererUtilities.findLiveItemsUpperBound(d, 1, 0.0, 1.1));
    Differences
    Expression1Expression2Difference
    findLiveItemsLowerBoundfindLiveItemsUpperBoundMETHOD_INVOCATION_NAME_MISMATCH
    Preondition Violations
    Expression RendererUtilities.findLiveItemsLowerBound(d,1,0.0,1.1) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression RendererUtilities.findLiveItemsUpperBound(d,1,0.0,1.1) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    5
    assertEquals(0, RendererUtilities.findLiveItemsUpperBound(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.findLiveItemsUpperBound(d, 1, 2.0, 2.2));
    Differences
    Expression1Expression2Difference
    3.32.2LITERAL_VALUE_MISMATCH
    findLiveItemsLowerBoundfindLiveItemsUpperBoundMETHOD_INVOCATION_NAME_MISMATCH
    Preondition Violations
    Expression RendererUtilities.findLiveItemsLowerBound(d,1,2.0,3.3) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression RendererUtilities.findLiveItemsUpperBound(d,1,2.0,2.2) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    6
    assertEquals(0, RendererUtilities.findLiveItemsUpperBound(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));
    8
    assertEquals(1, RendererUtilities.findLiveItemsUpperBound(d, 2, 0.0, 1.0));
    Differences
    Expression1Expression2Difference
    01LITERAL_VALUE_MISMATCH
    1.11.0LITERAL_VALUE_MISMATCH
    findLiveItemsLowerBoundfindLiveItemsUpperBoundMETHOD_INVOCATION_NAME_MISMATCH
    Preondition Violations
    Expression RendererUtilities.findLiveItemsLowerBound(d,2,0.0,1.1) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression RendererUtilities.findLiveItemsUpperBound(d,2,0.0,1.0) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    8
    assertEquals(1, RendererUtilities.findLiveItemsUpperBound(d, 2, 0.0, 1.0));
    9
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 2, 1.0, 2.2));
    9
    assertEquals(0, RendererUtilities.findLiveItemsLowerBound(d, 2, 1.0, 2.2));
    9
    assertEquals(1, RendererUtilities.findLiveItemsUpperBound(d, 2, 1.0, 2.2));
    Differences
    Expression1Expression2Difference
    01LITERAL_VALUE_MISMATCH
    findLiveItemsLowerBoundfindLiveItemsUpperBoundMETHOD_INVOCATION_NAME_MISMATCH
    Preondition Violations
    Expression RendererUtilities.findLiveItemsLowerBound(d,2,1.0,2.2) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression RendererUtilities.findLiveItemsUpperBound(d,2,1.0,2.2) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    9
    assertEquals(1, RendererUtilities.findLiveItemsUpperBound(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));
    10
    assertEquals(1, RendererUtilities.findLiveItemsUpperBound(d, 2, 2.0, 3.3));
    Differences
    Expression1Expression2Difference
    01LITERAL_VALUE_MISMATCH
    findLiveItemsLowerBoundfindLiveItemsUpperBoundMETHOD_INVOCATION_NAME_MISMATCH
    Preondition Violations
    Expression RendererUtilities.findLiveItemsLowerBound(d,2,2.0,3.3) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression RendererUtilities.findLiveItemsUpperBound(d,2,2.0,3.3) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    10
    assertEquals(1, RendererUtilities.findLiveItemsUpperBound(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));
    11
    assertEquals(1, RendererUtilities.findLiveItemsUpperBound(d, 2, 3.0, 4.4));
    Differences
    Expression1Expression2Difference
    findLiveItemsLowerBoundfindLiveItemsUpperBoundMETHOD_INVOCATION_NAME_MISMATCH
    Preondition Violations
    Expression RendererUtilities.findLiveItemsLowerBound(d,2,3.0,4.4) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression RendererUtilities.findLiveItemsUpperBound(d,2,3.0,4.4) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    11
    assertEquals(1, RendererUtilities.findLiveItemsUpperBound(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));
    13
    assertEquals(1, RendererUtilities.findLiveItemsUpperBound(d, 3, 0.0, 1.1));
    Differences
    Expression1Expression2Difference
    01LITERAL_VALUE_MISMATCH
    findLiveItemsLowerBoundfindLiveItemsUpperBoundMETHOD_INVOCATION_NAME_MISMATCH
    Preondition Violations
    Expression RendererUtilities.findLiveItemsLowerBound(d,3,0.0,1.1) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression RendererUtilities.findLiveItemsUpperBound(d,3,0.0,1.1) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    13
    assertEquals(1, RendererUtilities.findLiveItemsUpperBound(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));
    14
    assertEquals(2, RendererUtilities.findLiveItemsUpperBound(d, 3, 1.0, 2.2));
    Differences
    Expression1Expression2Difference
    02LITERAL_VALUE_MISMATCH
    findLiveItemsLowerBoundfindLiveItemsUpperBoundMETHOD_INVOCATION_NAME_MISMATCH
    Preondition Violations
    Expression RendererUtilities.findLiveItemsLowerBound(d,3,1.0,2.2) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression RendererUtilities.findLiveItemsUpperBound(d,3,1.0,2.2) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    14
    assertEquals(2, RendererUtilities.findLiveItemsUpperBound(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));
    15
    assertEquals(2, RendererUtilities.findLiveItemsUpperBound(d, 3, 2.0, 3.3));
    Differences
    Expression1Expression2Difference
    02LITERAL_VALUE_MISMATCH
    findLiveItemsLowerBoundfindLiveItemsUpperBoundMETHOD_INVOCATION_NAME_MISMATCH
    Preondition Violations
    Expression RendererUtilities.findLiveItemsLowerBound(d,3,2.0,3.3) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression RendererUtilities.findLiveItemsUpperBound(d,3,2.0,3.3) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    15
    assertEquals(2, RendererUtilities.findLiveItemsUpperBound(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(2, RendererUtilities.findLiveItemsUpperBound(d, 3, 3.0, 4.4));
    Differences
    Expression1Expression2Difference
    findLiveItemsLowerBoundfindLiveItemsUpperBoundMETHOD_INVOCATION_NAME_MISMATCH
    Preondition Violations
    Expression RendererUtilities.findLiveItemsLowerBound(d,3,3.0,4.4) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression RendererUtilities.findLiveItemsUpperBound(d,3,3.0,4.4) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    16
    assertEquals(2, RendererUtilities.findLiveItemsUpperBound(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));
    18
    assertEquals(1, RendererUtilities.findLiveItemsUpperBound(d, 4, 0.0, 1.1));
    Differences
    Expression1Expression2Difference
    01LITERAL_VALUE_MISMATCH
    findLiveItemsLowerBoundfindLiveItemsUpperBoundMETHOD_INVOCATION_NAME_MISMATCH
    Preondition Violations
    Expression RendererUtilities.findLiveItemsLowerBound(d,4,0.0,1.1) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression RendererUtilities.findLiveItemsUpperBound(d,4,0.0,1.1) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    18
    assertEquals(1, RendererUtilities.findLiveItemsUpperBound(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));
    19
    assertEquals(2, RendererUtilities.findLiveItemsUpperBound(d, 4, 1.0, 2.2));
    Differences
    Expression1Expression2Difference
    02LITERAL_VALUE_MISMATCH
    findLiveItemsLowerBoundfindLiveItemsUpperBoundMETHOD_INVOCATION_NAME_MISMATCH
    Preondition Violations
    Expression RendererUtilities.findLiveItemsLowerBound(d,4,1.0,2.2) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression RendererUtilities.findLiveItemsUpperBound(d,4,1.0,2.2) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    19
    assertEquals(2, RendererUtilities.findLiveItemsUpperBound(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));
    20
    assertEquals(3, RendererUtilities.findLiveItemsUpperBound(d, 4, 2.0, 3.3));
    Differences
    Expression1Expression2Difference
    03LITERAL_VALUE_MISMATCH
    findLiveItemsLowerBoundfindLiveItemsUpperBoundMETHOD_INVOCATION_NAME_MISMATCH
    Preondition Violations
    Expression RendererUtilities.findLiveItemsLowerBound(d,4,2.0,3.3) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression RendererUtilities.findLiveItemsUpperBound(d,4,2.0,3.3) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    20
    assertEquals(3, RendererUtilities.findLiveItemsUpperBound(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(3, RendererUtilities.findLiveItemsUpperBound(d, 4, 3.0, 4.4));
    Differences
    Expression1Expression2Difference
    findLiveItemsLowerBoundfindLiveItemsUpperBoundMETHOD_INVOCATION_NAME_MISMATCH
    Preondition Violations
    Expression RendererUtilities.findLiveItemsLowerBound(d,4,3.0,4.4) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression RendererUtilities.findLiveItemsUpperBound(d,4,3.0,4.4) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    21
    assertEquals(3, RendererUtilities.findLiveItemsUpperBound(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(3, RendererUtilities.findLiveItemsUpperBound(d, 4, 4.0, 5.5));
    Differences
    Expression1Expression2Difference
    findLiveItemsLowerBoundfindLiveItemsUpperBoundMETHOD_INVOCATION_NAME_MISMATCH
    Preondition Violations
    Expression RendererUtilities.findLiveItemsLowerBound(d,4,4.0,5.5) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression RendererUtilities.findLiveItemsUpperBound(d,4,4.0,5.5) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    22
    assertEquals(3, RendererUtilities.findLiveItemsUpperBound(d, 4, 4.0, 5.5));
    Precondition Violations (34)
    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
    3Expression RendererUtilities.findLiveItemsLowerBound(d,0,10.0,11.0) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    4Expression RendererUtilities.findLiveItemsUpperBound(d,0,10.0,11.1) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    5Expression RendererUtilities.findLiveItemsLowerBound(d,1,0.0,1.1) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    6Expression RendererUtilities.findLiveItemsUpperBound(d,1,0.0,1.1) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    7Expression RendererUtilities.findLiveItemsLowerBound(d,1,2.0,3.3) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    8Expression RendererUtilities.findLiveItemsUpperBound(d,1,2.0,2.2) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    9Expression RendererUtilities.findLiveItemsLowerBound(d,2,0.0,1.1) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    10Expression RendererUtilities.findLiveItemsUpperBound(d,2,0.0,1.0) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    11Expression RendererUtilities.findLiveItemsLowerBound(d,2,1.0,2.2) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    12Expression RendererUtilities.findLiveItemsUpperBound(d,2,1.0,2.2) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    13Expression RendererUtilities.findLiveItemsLowerBound(d,2,2.0,3.3) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    14Expression RendererUtilities.findLiveItemsUpperBound(d,2,2.0,3.3) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    15Expression RendererUtilities.findLiveItemsLowerBound(d,2,3.0,4.4) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    16Expression RendererUtilities.findLiveItemsUpperBound(d,2,3.0,4.4) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    17Expression RendererUtilities.findLiveItemsLowerBound(d,3,0.0,1.1) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    18Expression RendererUtilities.findLiveItemsUpperBound(d,3,0.0,1.1) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    19Expression RendererUtilities.findLiveItemsLowerBound(d,3,1.0,2.2) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    20Expression RendererUtilities.findLiveItemsUpperBound(d,3,1.0,2.2) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    21Expression RendererUtilities.findLiveItemsLowerBound(d,3,2.0,3.3) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    22Expression RendererUtilities.findLiveItemsUpperBound(d,3,2.0,3.3) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    23Expression RendererUtilities.findLiveItemsLowerBound(d,3,3.0,4.4) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    24Expression RendererUtilities.findLiveItemsUpperBound(d,3,3.0,4.4) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    25Expression RendererUtilities.findLiveItemsLowerBound(d,4,0.0,1.1) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    26Expression RendererUtilities.findLiveItemsUpperBound(d,4,0.0,1.1) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    27Expression RendererUtilities.findLiveItemsLowerBound(d,4,1.0,2.2) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    28Expression RendererUtilities.findLiveItemsUpperBound(d,4,1.0,2.2) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    29Expression RendererUtilities.findLiveItemsLowerBound(d,4,2.0,3.3) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    30Expression RendererUtilities.findLiveItemsUpperBound(d,4,2.0,3.3) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    31Expression RendererUtilities.findLiveItemsLowerBound(d,4,3.0,4.4) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    32Expression RendererUtilities.findLiveItemsUpperBound(d,4,3.0,4.4) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    33Expression RendererUtilities.findLiveItemsLowerBound(d,4,4.0,5.5) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    34Expression RendererUtilities.findLiveItemsUpperBound(d,4,4.0,5.5) cannot be parameterized, because it has dependencies to/from statements that will be extracted