public class VectorDataItemTests extends TestCase { /** * Returns the tests as a test suite. * * @return The test suite. */ public static Test suite() { return new TestSuite(VectorDataItemTests.class); } /** * Constructs a new set of tests. * * @param name the name of the tests. */ public VectorDataItemTests(String name) { super(name); } /** * Test that the equals() method distinguishes all fields. */ public void testEquals() { // default instances VectorDataItem v1 = new VectorDataItem(1.0, 2.0, 3.0, 4.0); VectorDataItem v2 = new VectorDataItem(1.0, 2.0, 3.0, 4.0); assertTrue(v1.equals(v2)); assertTrue(v2.equals(v1)); v1 = new VectorDataItem(1.1, 2.0, 3.0, 4.0); assertFalse(v1.equals(v2)); v2 = new VectorDataItem(1.1, 2.0, 3.0, 4.0); assertTrue(v1.equals(v2)); v1 = new VectorDataItem(1.1, 2.2, 3.0, 4.0); assertFalse(v1.equals(v2)); v2 = new VectorDataItem(1.1, 2.2, 3.0, 4.0); assertTrue(v1.equals(v2)); v1 = new VectorDataItem(1.1, 2.2, 3.3, 4.0); assertFalse(v1.equals(v2)); v2 = new VectorDataItem(1.1, 2.2, 3.3, 4.0); assertTrue(v1.equals(v2)); v1 = new VectorDataItem(1.1, 2.2, 3.3, 4.4); assertFalse(v1.equals(v2)); v2 = new VectorDataItem(1.1, 2.2, 3.3, 4.4); assertTrue(v1.equals(v2)); } /** * Two objects that are equal are required to return the same hashCode. */ public void testHashcode() { VectorDataItem v1 = new VectorDataItem(1.0, 2.0, 3.0, 4.0); VectorDataItem v2 = new VectorDataItem(1.0, 2.0, 3.0, 4.0); assertTrue(v1.equals(v2)); int h1 = v1.hashCode(); int h2 = v2.hashCode(); assertEquals(h1, h2); } /** * Check cloning. */ public void testCloning() { VectorDataItem v1 = new VectorDataItem(1.0, 2.0, 3.0, 4.0); VectorDataItem v2 = null; try { v2 = (VectorDataItem) v1.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } assertTrue(v1 != v2); assertTrue(v1.getClass() == v2.getClass()); assertTrue(v1.equals(v2)); } /** * Serialize an instance, restore it, and check for equality. */ public void testSerialization() { VectorDataItem v1 = new VectorDataItem(1.0, 2.0, 3.0, 4.0); VectorDataItem v2 = null; try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); out.writeObject(v1); out.close(); ObjectInput in = new ObjectInputStream( new ByteArrayInputStream(buffer.toByteArray())); v2 = (VectorDataItem) in.readObject(); in.close(); } catch (Exception e) { e.printStackTrace(); } assertEquals(v1, v2)
public class XIntervalDataItemTests extends TestCase { /** * Returns the tests as a test suite. * * @return The test suite. */ public static Test suite() { return new TestSuite(XIntervalDataItemTests.class); } /** * Constructs a new set of tests. * * @param name the name of the tests. */ public XIntervalDataItemTests(String name) { super(name); } private static final double EPSILON = 0.00000000001; /** * Some checks for the constructor. */ public void testConstructor1() { XIntervalDataItem item1 = new XIntervalDataItem(1.0, 2.0, 3.0, 4.0); assertEquals(new Double(1.0), item1.getX()); assertEquals(2.0, item1.getXLowValue(), EPSILON); assertEquals(3.0, item1.getXHighValue(), EPSILON); assertEquals(4.0, item1.getYValue(), EPSILON); } /** * Confirm that the equals method can distinguish all the required fields. */ public void testEquals() { XIntervalDataItem item1 = new XIntervalDataItem(1.0, 2.0, 3.0, 4.0); XIntervalDataItem item2 = new XIntervalDataItem(1.0, 2.0, 3.0, 4.0); assertTrue(item1.equals(item2)); assertTrue(item2.equals(item1)); // x item1 = new XIntervalDataItem(1.1, 2.0, 3.0, 4.0); assertFalse(item1.equals(item2)); item2 = new XIntervalDataItem(1.1, 2.0, 3.0, 4.0); assertTrue(item1.equals(item2)); // xLow item1 = new XIntervalDataItem(1.1, 2.2, 3.0, 4.0); assertFalse(item1.equals(item2)); item2 = new XIntervalDataItem(1.1, 2.2, 3.0, 4.0); assertTrue(item1.equals(item2)); // xHigh item1 = new XIntervalDataItem(1.1, 2.2, 3.3, 4.0); assertFalse(item1.equals(item2)); item2 = new XIntervalDataItem(1.1, 2.2, 3.3, 4.0); assertTrue(item1.equals(item2)); // y item1 = new XIntervalDataItem(1.1, 2.2, 3.3, 4.4); assertFalse(item1.equals(item2)); item2 = new XIntervalDataItem(1.1, 2.2, 3.3, 4.4); assertTrue(item1.equals(item2)); } /** * Some checks for the clone() method. */ public void testCloning() { XIntervalDataItem item1 = new XIntervalDataItem(1.0, 2.0, 3.0, 4.0); XIntervalDataItem item2 = null; try { item2 = (XIntervalDataItem) item1.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } assertTrue(item1 != item2); assertTrue(item1.getClass() == item2.getClass()); assertTrue(item1.equals(item2)); } /** * Serialize an instance, restore it, and check for equality. */ public void testSerialization() { XIntervalDataItem item1 = new XIntervalDataItem(1.0, 2.0, 3.0, 4.0); XIntervalDataItem item2 = null; try { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); out.writeObject(item1); out.close(); ObjectInput in = new ObjectInputStream( new ByteArrayInputStream(buffer.toByteArray())); item2 = (XIntervalDataItem) in.readObject(); in.close(); } catch (Exception e) { e.printStackTrace(); } assertEquals(item1, item2)
Clone fragments detected by clone detection tool
File path: /jfreechart-1.0.10/tests/org/jfree/data/xy/junit/VectorDataItemTests.java File path: /jfreechart-1.0.10/tests/org/jfree/data/xy/junit/XIntervalDataItemTests.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
public class VectorDataItemTests extends TestCase {
1
public class XIntervalDataItemTests extends TestCase {
2
    
2
    /**
3
    /**
3
     * Returns the tests as a test suite.
4
     * Returns the tests as a test suite.
4
     *
5
     *
5
     * @return The test suite.
6
     * @return The test suite.
6
     */
7
     */
7
    public static Test suite() {
8
    public static Test suite() {
8
        return new TestSuite(VectorDataItemTests.class);
9
        return new TestSuite(XIntervalDataItemTests.class);
9
    }
10
    }
10
    /**
11
    /**
11
     * Constructs a new set of tests.
12
     * Constructs a new set of tests.
12
     *
13
     *
13
     * @param name  the name of the tests.
14
     * @param name  the name of the tests.
14
     */
15
     */
15
    public VectorDataItemTests(String name) {
16
    public XIntervalDataItemTests(String name) {
16
        super(name);
17
        super(name);
17
    }
18
    }
18
    /**
19
    
19
     * Test that the equals() method distinguishes all fields.
20
     */
21
    public void testEquals() {        
22
        // default instances
23
        Vector
20
private static final double EPSILON = 0.00000000001;
21
    
22
    /**
23
     * Some checks for the constructor.
24
     */
25
    public void testConstructor1() {
24
DataItem v1 = new VectorDataItem(1.0, 2.0, 3.0, 4.0);
26
        XIntervalDataItem item1 = new XIntervalDataItem(1.0, 2.0, 3.0, 4.0);
25
        VectorDataItem v2 = new VectorDataI
27
        assertEquals(new Double(1.0), item1.getX());
26
tem(1.0, 2.0, 3.0, 4.0
28
        assertEquals(2.0, item1.getXLowValue(), EPSILON);
27
);
29
        assertEquals(3.0, item1.getXHighValue(), EPSILON);
28
        assertTrue(v1.equals(v2));
30
        assertEquals(4.0, item1.getYValue(), EPSILON);
29
    
31
    }
30
    assertTrue(v2.equals(v1));
32
    
31
        v1 = new Vector
33
    /**
34
     * Confirm that the equals method can distinguish all the required fields.
35
     */
36
    public void testEquals() {
32
DataItem(1.1, 2.0, 3.0, 4.0);
37
        XIntervalDataItem item1 = new XIntervalDataItem(1.0, 2.0, 3.0, 4.0);
33
        assertFalse(v1.equals(v2));
38
        
34
        v2 = new VectorDataItem(1.1, 2.0, 3.0, 4.0);
39
XIntervalDataItem item2 = new XIntervalDataItem(1.0, 2.0, 3.0, 4.0);
35
        assertTrue(v1.equals(v2
40
        assertTrue(item1.equals(item2));
36
));
41
        assertTrue(item2.equals(item1));
37
        
42
        // x
38
        v1 = new VectorDataItem(1.1, 2.2, 3.0, 4.0);
43
        item1 = new XIntervalDataItem(1.1, 2.0, 3.0, 4.0);
39
        assertFalse(v1.equals(v2));
44
        assertFalse(item1.equals(item2));
40
        v2 = new VectorDataItem(1.1, 2.2, 3.0, 4.0);
45
        item2 = new XIntervalDataItem(1.1, 2.0, 3.0, 4.0);
41
        assertTrue(v1.equals(v2));
46
        assertTrue(item1.equals(item2));
47
        
42
        v1 = new Vector
48
        // xLow
43
DataItem(1.1, 2.2, 3.3, 4.0);
49
        item1 = new XIntervalDataItem(1.1, 2.2, 3.0, 4.0);
44
        assertFalse(v1.equals(v2));
50
        assertFalse(item1.equals(item2));
45
        v2 = new VectorDataItem(1.1, 2.2, 3.3, 4.0);
51
        item2 = new XIntervalDataItem(1.1, 2.2, 3.0, 4.0);
46
        assertTrue(v1.equals(v2));
52
        assertTrue(item1.equals(item2));
47
    
53
        // xHigh
48
        v1 = new VectorDataItem(1.1, 2.2, 3.3, 4.4);
54
        item1 = new XIntervalDataItem(1.1, 2.2, 3.3, 4.0);
49
        assertFalse(v1.equals(v2));
55
        assertFalse(item1.equals(item2));
50
        v2 = new VectorDataItem(1.1, 2.2, 3.3, 4.4);
56
        item2 = new XIntervalDataItem(1.1, 2.2, 3.3, 4.0);
51
        assertTrue(v1.equals(v2));
57
        assertTrue(item1.equals(item2));
52
    }
53
    /**
54
     * Two objects that are equal are required to return the same hashCode. 
55
     */
56
    public void testHashcode() {
57
        VectorDataI
58
        // y
58
tem v1 = new VectorDataItem(1.0, 2.0, 3.0, 4.0);
59
        item1 = new XIntervalDataItem(1.1, 2.2, 3.3, 4.4);
59
        VectorDataItem v2 = new Vector
60
        assertFalse(item1.equals(item2));
60
DataItem(1.0, 2.0, 3.0, 4.0);
61
        item2 = new XIntervalDataItem(1.1, 2.2, 3.3, 4.4);
61
        assertTrue(v1.equals(v2));
62
        assertTrue(item1.equals(
62
        int h1 = v1.hashCode();
63
        int h2 = v2.hashCode();
64
        assertEquals(h1, h2);
63
item2));
65
    }
64
    }
66
    
67
    /**
65
    /**
68
     * Check cloning.
66
     * Some checks for the clone() method.
69
     */
67
     */
70
    public void testCloning() {
68
    public void testCloning() {
71
        VectorDataItem v1 = new VectorDataItem(1.0, 2.0, 3.0, 4.0);
69
        XIntervalDataItem item1 = new XIntervalDataItem(1.0, 2.0, 3.0, 4.0);
72
        VectorDataItem v2 = null;
70
        XIntervalDataItem item2 = null;
73
        try {
71
        try {
74
            v2 = (VectorDataItem) v1.clone();
72
            item2 = (XIntervalDataItem) item1.clone();
75
        }
73
        }
76
        catch (CloneNotSupportedException e) {
74
        catch (CloneNotSupportedException e) {
77
            e.printStackTrace();
75
            e.printStackTrace();
78
        }
76
        }
79
        assertTrue(v1 != v2);
77
        assertTrue(item1 != item2);
80
        assertTrue(v1.getClass() == v2.getClass());
78
        assertTrue(item1.getClass() == item2.getClass());
81
        assertTrue(v1.equals(v2));
79
        assertTrue(item1.equals(item2));
82
    }
80
    }
83
    /**
81
    /**
84
     * Serialize an instance, restore it, and check for equality.
82
     * Serialize an instance, restore it, and check for equality.
85
     */
83
     */
86
    public void testSerialization() {
84
    public void testSerialization() {
87
        VectorDataItem v1 = new VectorDataItem(1.0, 2.0, 3.0, 4.0);
85
        XIntervalDataItem item1 = new XIntervalDataItem(1.0, 2.0, 3.0, 4.0);
88
        VectorDataItem v2 = null;
86
        XIntervalDataItem item2 = null;
89
        try {
87
        try {
90
            ByteArrayOutputStream buffer = new ByteArrayOutputStream();
88
            ByteArrayOutputStream buffer = new ByteArrayOutputStream();
91
            ObjectOutput out = new ObjectOutputStream(buffer);
89
            ObjectOutput out = new ObjectOutputStream(buffer);
92
            out.writeObject(v1);
90
            out.writeObject(item1);
93
            out.close();
91
            out.close();
94
            ObjectInput in = new ObjectInputStream(
92
            ObjectInput in = new ObjectInputStream(
95
                    new ByteArrayInputStream(buffer.toByteArray()));
93
                    new ByteArrayInputStream(buffer.toByteArray()));
96
            v2 = (VectorDataItem) in.readObject();
94
            item2 = (XIntervalDataItem) in.readObject();
97
            in.close();
95
            in.close();
98
        }
96
        }
99
        catch (Exception e) {
97
        catch (Exception e) {
100
            e.printStackTrace();
98
            e.printStackTrace();
101
        }
99
        }
102
        assertEquals(v1, v2)
100
        assertEquals(item1, item2)
Summary
Number of common nesting structure subtrees0
Number of refactorable cases0
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.0
Clones location
Number of node comparisons0