1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package net.grinder.util;
23
24 import junit.framework.TestCase;
25
26 import static net.grinder.testutility.AssertUtilities.assertNotEquals;
27
28
29
30
31
32
33
34
35 public class TestPair extends TestCase {
36
37 public void testBasics() throws Exception {
38 final Pair<Integer, String> p1 = Pair.of(3, "123");
39
40 assertEquals(new Integer(3), p1.getFirst());
41 assertEquals("123", p1.getSecond());
42
43 assertEquals("(3, 123)", p1.toString());
44
45 final Pair<Integer, String> p2 = Pair.of((Integer)null, "123");
46 assertNull(p2.getFirst());
47 assertEquals("(null, 123)", p2.toString());
48 }
49
50 public void testEquality() throws Exception {
51
52 final Pair<Integer, String> p1 = Pair.of(3, "123");
53
54 assertEquals(p1, p1);
55 assertEquals(p1.hashCode(), p1.hashCode());
56 assertNotEquals(p1, null);
57 assertNotEquals(p1, this);
58
59 final Pair<Integer, String> p2 = Pair.of(4, "123");
60
61 assertNotEquals(p1, p2);
62 assertEquals(p2, p2);
63
64 final Pair<Integer, String> p3 = Pair.of(3, "123");
65
66 assertEquals(p1, p3);
67 assertEquals(p1.hashCode(), p3.hashCode());
68
69 final Pair<Integer, String> p4 = Pair.of((Integer)null, (String)null);
70 assertEquals(p4, p4);
71 assertEquals(p4.hashCode(), p4.hashCode());
72 assertNotEquals(p4, p3);
73
74 final Pair<Integer, String> p5 = Pair.of(3, (String)null);
75 assertNotEquals(p3, p5);
76 assertNotEquals(p5, p3);
77 assertEquals(p5, p5);
78 assertEquals(p5.hashCode(), p5.hashCode());
79 }
80 }