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)
|