package org.identityconnectors.oracle;
import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertFalse;
import org.testng.annotations.Test;
public class PairTest {
@Test
public void testHashCode() {
Pair<Integer, String> pair1 = new Pair<Integer, String>(1, "one");
Pair<Integer, String> pair2 = new Pair<Integer, String>(1, "one");
assertEquals(pair1.hashCode(), pair2.hashCode());
pair2 = new Pair<Integer, String>(1, "two");
assertFalse(pair1.hashCode() == pair2.hashCode());
pair1 = new Pair<Integer, String>(null, "one");
pair2 = new Pair<Integer, String>(null, "one");
assertEquals(pair1.hashCode(), pair2.hashCode());
pair1 = new Pair<Integer, String>(1, null);
pair2 = new Pair<Integer, String>(1, null);
assertEquals(pair1.hashCode(), pair2.hashCode());
}
@Test
public void testPair() {
Pair<Integer, String> pair = new Pair<Integer, String>(1, "one");
assertEquals(new Integer(1), pair.getFirst());
assertEquals("one", pair.getSecond());
}
@Test
public void testEqualsObject() {
Pair<Integer, String> pair1 = new Pair<Integer, String>(1, "one");
Pair<Integer, String> pair2 = new Pair<Integer, String>(1, "one");
assertEquals(pair1, pair2);
assertEquals(pair2, pair1);
pair1 = pair2;
assertEquals(pair1, pair2);
assertEquals(pair2, pair1);
pair2 = new Pair<Integer, String>(1, "two");
assertFalse(pair1.equals(pair2));
assertFalse(pair2.equals(pair1));
pair1 = new Pair<Integer, String>(null, "one");
pair2 = new Pair<Integer, String>(null, "one");
assertEquals(pair1, pair2);
assertEquals(pair2, pair1);
pair1 = new Pair<Integer, String>(1, null);
pair2 = new Pair<Integer, String>(1, null);
assertEquals(pair1, pair2);
assertEquals(pair2, pair1);
pair1 = new Pair<Integer, String>(null, null);
pair2 = new Pair<Integer, String>(null, null);
assertEquals(pair1, pair2);
assertEquals(pair2, pair1);
assertFalse(pair1.equals(null));
assertFalse(pair1.equals("hello"));
}
}