ac2c0b9815db5ea003f1fa147411e793a603ffd8
[deliverable/tracecompass.git] / org.eclipse.tracecompass.tmf.core.tests / src / org / eclipse / tracecompass / tmf / core / tests / util / PairTest.java
1 /*******************************************************************************
2 * Copyright (c) 2011, 2015 Ericsson
3 *
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
8 *
9 * Contributors:
10 * Bernd Hufmann - Initial design and implementation
11 * Alexandre Montplaisir - Port to JUnit4
12 *******************************************************************************/
13
14 package org.eclipse.tracecompass.tmf.core.tests.util;
15
16 import static org.junit.Assert.assertEquals;
17 import static org.junit.Assert.assertTrue;
18
19 import org.eclipse.tracecompass.tmf.core.util.Pair;
20 import org.junit.Test;
21
22 /**
23 * Test case for Pair class.
24 *
25 * @author Bernd Hufmann
26 */
27 @SuppressWarnings("javadoc")
28 public class PairTest {
29
30 // ------------------------------------------------------------------------
31 // Field(s)
32 // ------------------------------------------------------------------------
33
34 Pair<String, Long> fPair1 = new Pair<>("String 1", 1L);
35 Pair<String, Long> fPair2 = new Pair<>("String 2", 2L);
36
37 // ------------------------------------------------------------------------
38 // to String
39 // ------------------------------------------------------------------------
40
41 @Test
42 public void testToString() {
43 String result = fPair1.toString();
44 assertEquals("(String 1, 1)", result);
45 }
46
47 // ------------------------------------------------------------------------
48 // Setters/Getters
49 // ------------------------------------------------------------------------
50
51 @Test
52 public void testAccessors() {
53 Pair<String, Long> myPair = new Pair<>("String 1", 1L);
54 assertEquals("String 1", myPair.getFirst());
55 assertEquals(Long.valueOf(1L), myPair.getSecond());
56 }
57
58 // ------------------------------------------------------------------------
59 // equals
60 // ------------------------------------------------------------------------
61
62 @Test
63 public void testEqualsReflexivity() {
64 assertTrue("equals", fPair1.equals(fPair1));
65 assertTrue("equals", fPair2.equals(fPair2));
66
67 assertTrue("equals", !fPair1.equals(fPair2));
68 assertTrue("equals", !fPair2.equals(fPair1));
69 }
70
71 @Test
72 public void testEqualsSymmetry() {
73 Pair<String, Long> info1 = new Pair<>(fPair1.getFirst(), fPair1.getSecond());
74 Pair<String, Long> info2 = new Pair<>(fPair2.getFirst(), fPair2.getSecond());
75
76 assertTrue("equals", info1.equals(fPair1));
77 assertTrue("equals", fPair1.equals(info1));
78
79 assertTrue("equals", info2.equals(fPair2));
80 assertTrue("equals", fPair2.equals(info2));
81 }
82
83 @Test
84 public void testEqualsTransivity() {
85 Pair<String, Long> info1 = new Pair<>(fPair1.getFirst(), fPair1.getSecond());
86 Pair<String, Long> info2 = new Pair<>(fPair1.getFirst(), fPair1.getSecond());
87 Pair<String, Long> info3 = new Pair<>(fPair1.getFirst(), fPair1.getSecond());
88
89 assertTrue("equals", info1.equals(info2));
90 assertTrue("equals", info2.equals(info3));
91 assertTrue("equals", info1.equals(info3));
92 }
93
94 @Test
95 public void testEqualsNull() {
96 assertTrue("equals", !fPair1.equals(null));
97 assertTrue("equals", !fPair2.equals(null));
98 }
99
100 @Test
101 public void testEqualsDifferentObj() {
102 Pair<Long, String> info = new Pair<>(1L, "String1");
103 assertTrue("equals", !fPair1.equals(info));
104 }
105
106 // ------------------------------------------------------------------------
107 // hashCode
108 // ------------------------------------------------------------------------
109
110 @Test
111 public void testHashCode() {
112 Pair<String, Long> info1 = new Pair<>(fPair1.getFirst(), fPair1.getSecond());
113 Pair<String, Long> info2 = new Pair<>(fPair2.getFirst(), fPair2.getSecond());
114
115 assertTrue("hashCode", fPair1.hashCode() == info1.hashCode());
116 assertTrue("hashCode", fPair2.hashCode() == info2.hashCode());
117
118 assertTrue("hashCode", fPair1.hashCode() != info2.hashCode());
119 assertTrue("hashCode", fPair2.hashCode() != info1.hashCode());
120 }
121 }
This page took 0.036281 seconds and 4 git commands to generate.