MyDateAxis axis = new MyDateAxis("Day"); Day apr12007 = new Day(1, 4, 2007); Day apr22007 = new Day(2, 4, 2007); // five dates to check... Date d0 = new Date(apr12007.getFirstMillisecond()); Date d1 = new Date(apr12007.getFirstMillisecond() + 500L); Date d2 = new Date(apr12007.getMiddleMillisecond()); Date d3 = new Date(apr12007.getMiddleMillisecond() + 500L); Date d4 = new Date(apr12007.getLastMillisecond()); Date end = new Date(apr22007.getLastMillisecond()); DateTickUnit unit = new DateTickUnit(DateTickUnit.DAY, 1); axis.setTickUnit(unit); // START: check d0 and d1 axis.setTickMarkPosition(DateTickMarkPosition.START); axis.setRange(d0, end); Date psd = axis.previousStandardDate(d0, unit); Date nsd = unit.addToDate(psd); assertTrue(psd.getTime() < d0.getTime()); assertTrue(nsd.getTime() >= d0.getTime()); axis.setRange(d1, end); psd = axis.previousStandardDate(d1, unit); nsd = unit.addToDate(psd); assertTrue(psd.getTime() < d1.getTime()); assertTrue(nsd.getTime() >= d1.getTime()); // MIDDLE: check d1, d2 and d3 axis.setTickMarkPosition(DateTickMarkPosition.MIDDLE); axis.setRange(d1, end); psd = axis.previousStandardDate(d1, unit); nsd = unit.addToDate(psd); assertTrue(psd.getTime() < d1.getTime()); assertTrue(nsd.getTime() >= d1.getTime()); axis.setRange(d2, end); psd = axis.previousStandardDate(d2, unit); nsd = unit.addToDate(psd); assertTrue(psd.getTime() < d2.getTime()); assertTrue(nsd.getTime() >= d2.getTime()); axis.setRange(d3, end); psd = axis.previousStandardDate(d3, unit); nsd = unit.addToDate(psd); assertTrue(psd.getTime() < d3.getTime()); assertTrue(nsd.getTime() >= d3.getTime()); // END: check d3 and d4 axis.setTickMarkPosition(DateTickMarkPosition.END); axis.setRange(d3, end); psd = axis.previousStandardDate(d3, unit); nsd = unit.addToDate(psd); assertTrue(psd.getTime() < d3.getTime()); assertTrue(nsd.getTime() >= d3.getTime()); axis.setRange(d4, end); psd = axis.previousStandardDate(d4, unit); nsd = unit.addToDate(psd); assertTrue(psd.getTime() < d4.getTime()); assertTrue(nsd.getTime() >= d4.getTime());
MyDateAxis axis = new MyDateAxis("Day"); Day apr12007 = new Day(1, 4, 2007); Day apr22007 = new Day(2, 4, 2007); // five dates to check... Date d0 = new Date(apr12007.getFirstMillisecond()); Date d1 = new Date(apr12007.getFirstMillisecond() + 500L); Date d2 = new Date(apr12007.getMiddleMillisecond()); Date d3 = new Date(apr12007.getMiddleMillisecond() + 500L); Date d4 = new Date(apr12007.getLastMillisecond()); Date end = new Date(apr22007.getLastMillisecond()); DateTickUnit unit = new DateTickUnit(DateTickUnit.DAY, 7); axis.setTickUnit(unit); // START: check d0 and d1 axis.setTickMarkPosition(DateTickMarkPosition.START); axis.setRange(d0, end); Date psd = axis.previousStandardDate(d0, unit); Date nsd = unit.addToDate(psd); assertTrue(psd.getTime() < d0.getTime()); assertTrue(nsd.getTime() >= d0.getTime()); axis.setRange(d1, end); psd = axis.previousStandardDate(d1, unit); nsd = unit.addToDate(psd); assertTrue(psd.getTime() < d1.getTime()); assertTrue(nsd.getTime() >= d1.getTime()); // MIDDLE: check d1, d2 and d3 axis.setTickMarkPosition(DateTickMarkPosition.MIDDLE); axis.setRange(d1, end); psd = axis.previousStandardDate(d1, unit); nsd = unit.addToDate(psd); assertTrue(psd.getTime() < d1.getTime()); assertTrue(nsd.getTime() >= d1.getTime()); axis.setRange(d2, end); psd = axis.previousStandardDate(d2, unit); nsd = unit.addToDate(psd); assertTrue(psd.getTime() < d2.getTime()); assertTrue(nsd.getTime() >= d2.getTime()); axis.setRange(d3, end); psd = axis.previousStandardDate(d3, unit); nsd = unit.addToDate(psd); assertTrue(psd.getTime() < d3.getTime()); assertTrue(nsd.getTime() >= d3.getTime()); // END: check d3 and d4 axis.setTickMarkPosition(DateTickMarkPosition.END); axis.setRange(d3, end); psd = axis.previousStandardDate(d3, unit); nsd = unit.addToDate(psd); assertTrue(psd.getTime() < d3.getTime()); assertTrue(nsd.getTime() >= d3.getTime()); axis.setRange(d4, end); psd = axis.previousStandardDate(d4, unit); nsd = unit.addToDate(psd); assertTrue(psd.getTime() < d4.getTime()); assertTrue(nsd.getTime() >= d4.getTime());
Clone fragments detected by clone detection tool
File path: /jfreechart-1.0.10/tests/org/jfree/chart/axis/junit/DateAxisTests.java File path: /jfreechart-1.0.10/tests/org/jfree/chart/axis/junit/DateAxisTests.java
Method name: void testPreviousStandardDateDayA() Method name: void testPreviousStandardDateDayB()
Number of AST nodes: 49 Number of AST nodes: 49
1
MyDateAxis axis = new MyDateAxis("Day");
1
MyDateAxis axis = new MyDateAxis("Day");
2
        Day apr12007 = new Day(1, 4, 2007);
2
        Day apr12007 = new Day(1, 4, 2007);
3
        Day apr22007 = new Day(2, 4, 2007);
3
        Day apr22007 = new Day(2, 4, 2007);
4
        
4
        
5
        // five dates to check...
5
        // five dates to check...
6
        Date d0 = new Date(apr12007.getFirstMillisecond());
6
        Date d0 = new Date(apr12007.getFirstMillisecond());
7
        Date d1 = new Date(apr12007.getFirstMillisecond() + 500L);
7
        Date d1 = new Date(apr12007.getFirstMillisecond() + 500L);
8
        Date d2 = new Date(apr12007.getMiddleMillisecond());
8
        Date d2 = new Date(apr12007.getMiddleMillisecond());
9
        Date d3 = new Date(apr12007.getMiddleMillisecond() + 500L);
9
        Date d3 = new Date(apr12007.getMiddleMillisecond() + 500L);
10
        Date d4 = new Date(apr12007.getLastMillisecond());
10
        Date d4 = new Date(apr12007.getLastMillisecond());
11
     
11
     
12
        Date end = new Date(apr22007.getLastMillisecond());
12
        Date end = new Date(apr22007.getLastMillisecond());
13
        
13
        
14
        DateTickUnit unit = new DateTickUnit(DateTickUnit.DAY, 1);
14
        DateTickUnit unit = new DateTickUnit(DateTickUnit.DAY, 7);
15
        axis.setTickUnit(unit);
15
        axis.setTickUnit(unit);
16
        // START: check d0 and d1
16
        // START: check d0 and d1
17
        axis.setTickMarkPosition(DateTickMarkPosition.START);
17
        axis.setTickMarkPosition(DateTickMarkPosition.START);
18
        axis.setRange(d0, end);
18
        axis.setRange(d0, end);
19
        Date psd = axis.previousStandardDate(d0, unit);
19
        Date psd = axis.previousStandardDate(d0, unit);
20
        Date nsd = unit.addToDate(psd);
20
        Date nsd = unit.addToDate(psd);
21
        assertTrue(psd.getTime() < d0.getTime());
21
        assertTrue(psd.getTime() < d0.getTime());
22
        assertTrue(nsd.getTime() >= d0.getTime());
22
        assertTrue(nsd.getTime() >= d0.getTime());
23
        axis.setRange(d1, end);
23
        axis.setRange(d1, end);
24
        psd = axis.previousStandardDate(d1, unit);
24
        psd = axis.previousStandardDate(d1, unit);
25
        nsd = unit.addToDate(psd);
25
        nsd = unit.addToDate(psd);
26
        assertTrue(psd.getTime() < d1.getTime());
26
        assertTrue(psd.getTime() < d1.getTime());
27
        assertTrue(nsd.getTime() >= d1.getTime());
27
        assertTrue(nsd.getTime() >= d1.getTime());
28
        // MIDDLE: check d1, d2 and d3
28
        // MIDDLE: check d1, d2 and d3
29
        axis.setTickMarkPosition(DateTickMarkPosition.MIDDLE);
29
        axis.setTickMarkPosition(DateTickMarkPosition.MIDDLE);
30
        
30
        
31
        axis.setRange(d1, end);
31
        axis.setRange(d1, end);
32
        psd = axis.previousStandardDate(d1, unit);
32
        psd = axis.previousStandardDate(d1, unit);
33
        nsd = unit.addToDate(psd);
33
        nsd = unit.addToDate(psd);
34
        assertTrue(psd.getTime() < d1.getTime());
34
        assertTrue(psd.getTime() < d1.getTime());
35
        assertTrue(nsd.getTime() >= d1.getTime());
35
        assertTrue(nsd.getTime() >= d1.getTime());
36
        
36
        
37
        axis.setRange(d2, end);
37
        axis.setRange(d2, end);
38
        psd = axis.previousStandardDate(d2, unit);
38
        psd = axis.previousStandardDate(d2, unit);
39
        nsd = unit.addToDate(psd);
39
        nsd = unit.addToDate(psd);
40
        assertTrue(psd.getTime() < d2.getTime());
40
        assertTrue(psd.getTime() < d2.getTime());
41
        assertTrue(nsd.getTime() >= d2.getTime());
41
        assertTrue(nsd.getTime() >= d2.getTime());
42
        axis.setRange(d3, end);
42
        axis.setRange(d3, end);
43
        psd = axis.previousStandardDate(d3, unit);
43
        psd = axis.previousStandardDate(d3, unit);
44
        nsd = unit.addToDate(psd);
44
        nsd = unit.addToDate(psd);
45
        assertTrue(psd.getTime() < d3.getTime());
45
        assertTrue(psd.getTime() < d3.getTime());
46
        assertTrue(nsd.getTime() >= d3.getTime());
46
        assertTrue(nsd.getTime() >= d3.getTime());
47
        // END: check d3 and d4
47
        // END: check d3 and d4
48
        axis.setTickMarkPosition(DateTickMarkPosition.END);
48
        axis.setTickMarkPosition(DateTickMarkPosition.END);
49
        
49
        
50
        axis.setRange(d3, end);
50
        axis.setRange(d3, end);
51
        psd = axis.previousStandardDate(d3, unit);
51
        psd = axis.previousStandardDate(d3, unit);
52
        nsd = unit.addToDate(psd);
52
        nsd = unit.addToDate(psd);
53
        assertTrue(psd.getTime() < d3.getTime());
53
        assertTrue(psd.getTime() < d3.getTime());
54
        assertTrue(nsd.getTime() >= d3.getTime());
54
        assertTrue(nsd.getTime() >= d3.getTime());
55
        
55
        
56
        axis.setRange(d4, end);
56
        axis.setRange(d4, end);
57
        psd = axis.previousStandardDate(d4, unit);
57
        psd = axis.previousStandardDate(d4, unit);
58
        nsd = unit.addToDate(psd);
58
        nsd = unit.addToDate(psd);
59
        assertTrue(psd.getTime() < d4.getTime());
59
        assertTrue(psd.getTime() < d4.getTime());
60
        assertTrue(nsd.getTime() >= d4.getTime());
60
        assertTrue(nsd.getTime() >= d4.getTime());
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 comparisons765
  1. {Refactorable}
    Mapping Summary
    Number of mapped statements49
    Number of unmapped statements in the first code fragment0
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)0.0
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    1
    MyDateAxis axis = new MyDateAxis("Day");
    1
    MyDateAxis axis = new MyDateAxis("Day");
    2
    Day apr12007 = new Day(1, 4, 2007);
    2
    Day apr12007 = new Day(1, 4, 2007);
    3
    Day apr22007 = new Day(2, 4, 2007);
    3
    Day apr22007 = new Day(2, 4, 2007);
    4
    Date d0 = new Date(apr12007.getFirstMillisecond());
    4
    Date d0 = new Date(apr12007.getFirstMillisecond());
    5
    Date d1 = new Date(apr12007.getFirstMillisecond() + 500L);
    5
    Date d1 = new Date(apr12007.getFirstMillisecond() + 500L);
    6
    Date d2 = new Date(apr12007.getMiddleMillisecond());
    6
    Date d2 = new Date(apr12007.getMiddleMillisecond());
    7
    Date d3 = new Date(apr12007.getMiddleMillisecond() + 500L);
    7
    Date d3 = new Date(apr12007.getMiddleMillisecond() + 500L);
    8
    Date d4 = new Date(apr12007.getLastMillisecond());
    8
    Date d4 = new Date(apr12007.getLastMillisecond());
    9
    Date end = new Date(apr22007.getLastMillisecond());
    9
    Date end = new Date(apr22007.getLastMillisecond());
    10
    DateTickUnit unit = new DateTickUnit(DateTickUnit.DAY, 1);
    10
    DateTickUnit unit = new DateTickUnit(DateTickUnit.DAY, 1);
    10
    DateTickUnit unit = new DateTickUnit(DateTickUnit.DAY, 7);
    Differences
    Expression1Expression2Difference
    17LITERAL_VALUE_MISMATCH
    10
    DateTickUnit unit = new DateTickUnit(DateTickUnit.DAY, 7);
    11
    axis.setTickUnit(unit);
    11
    axis.setTickUnit(unit);
    12
    axis.setTickMarkPosition(DateTickMarkPosition.START);
    12
    axis.setTickMarkPosition(DateTickMarkPosition.START);
    13
    axis.setRange(d0, end);
    13
    axis.setRange(d0, end);
    14
    Date psd = axis.previousStandardDate(d0, unit);
    14
    Date psd = axis.previousStandardDate(d0, unit);
    15
    Date nsd = unit.addToDate(psd);
    15
    Date nsd = unit.addToDate(psd);
    16
    assertTrue(psd.getTime() < d0.getTime());
    16
    assertTrue(psd.getTime() < d0.getTime());
    17
    assertTrue(nsd.getTime() >= d0.getTime());
    17
    assertTrue(nsd.getTime() >= d0.getTime());
    18
    axis.setRange(d1, end);
    18
    axis.setRange(d1, end);
    19
    psd = axis.previousStandardDate(d1, unit);
    19
    psd = axis.previousStandardDate(d1, unit);
    20
    nsd = unit.addToDate(psd);
    20
    nsd = unit.addToDate(psd);
    21
    assertTrue(psd.getTime() < d1.getTime());
    21
    assertTrue(psd.getTime() < d1.getTime());
    22
    assertTrue(nsd.getTime() >= d1.getTime());
    22
    assertTrue(nsd.getTime() >= d1.getTime());
    23
    axis.setTickMarkPosition(DateTickMarkPosition.MIDDLE);
    23
    axis.setTickMarkPosition(DateTickMarkPosition.MIDDLE);
    24
    axis.setRange(d1, end);
    24
    axis.setRange(d1, end);
    25
    psd = axis.previousStandardDate(d1, unit);
    25
    psd = axis.previousStandardDate(d1, unit);
    26
    nsd = unit.addToDate(psd);
    26
    nsd = unit.addToDate(psd);
    27
    assertTrue(psd.getTime() < d1.getTime());
    27
    assertTrue(psd.getTime() < d1.getTime());
    28
    assertTrue(nsd.getTime() >= d1.getTime());
    28
    assertTrue(nsd.getTime() >= d1.getTime());
    29
    axis.setRange(d2, end);
    29
    axis.setRange(d2, end);
    30
    psd = axis.previousStandardDate(d2, unit);
    30
    psd = axis.previousStandardDate(d2, unit);
    31
    nsd = unit.addToDate(psd);
    31
    nsd = unit.addToDate(psd);
    32
    assertTrue(psd.getTime() < d2.getTime());
    32
    assertTrue(psd.getTime() < d2.getTime());
    33
    assertTrue(nsd.getTime() >= d2.getTime());
    33
    assertTrue(nsd.getTime() >= d2.getTime());
    34
    axis.setRange(d3, end);
    34
    axis.setRange(d3, end);
    35
    psd = axis.previousStandardDate(d3, unit);
    35
    psd = axis.previousStandardDate(d3, unit);
    36
    nsd = unit.addToDate(psd);
    36
    nsd = unit.addToDate(psd);
    37
    assertTrue(psd.getTime() < d3.getTime());
    37
    assertTrue(psd.getTime() < d3.getTime());
    38
    assertTrue(nsd.getTime() >= d3.getTime());
    38
    assertTrue(nsd.getTime() >= d3.getTime());
    39
    axis.setTickMarkPosition(DateTickMarkPosition.END);
    39
    axis.setTickMarkPosition(DateTickMarkPosition.END);
    40
    axis.setRange(d3, end);
    40
    axis.setRange(d3, end);
    41
    psd = axis.previousStandardDate(d3, unit);
    41
    psd = axis.previousStandardDate(d3, unit);
    42
    nsd = unit.addToDate(psd);
    42
    nsd = unit.addToDate(psd);
    43
    assertTrue(psd.getTime() < d3.getTime());
    43
    assertTrue(psd.getTime() < d3.getTime());
    44
    assertTrue(nsd.getTime() >= d3.getTime());
    44
    assertTrue(nsd.getTime() >= d3.getTime());
    45
    axis.setRange(d4, end);
    45
    axis.setRange(d4, end);
    46
    psd = axis.previousStandardDate(d4, unit);
    46
    psd = axis.previousStandardDate(d4, unit);
    47
    nsd = unit.addToDate(psd);
    47
    nsd = unit.addToDate(psd);
    48
    assertTrue(psd.getTime() < d4.getTime());
    48
    assertTrue(psd.getTime() < d4.getTime());
    49
    assertTrue(nsd.getTime() >= d4.getTime());
    49
    assertTrue(nsd.getTime() >= d4.getTime());
    Precondition Violations (0)
    Row Violation