/* * Copyright 2001-2013 Geert Bevin (gbevin[remove] at uwyn dot com) * Licensed under the Apache License, Version 2.0 (the "License") */ package com.uwyn.rife.datastructures; import junit.framework.TestCase; public class TestPair extends TestCase { public TestPair(String name) { super(name); } public void testInstantiation() { Pair<String, Long> pair = new Pair<>("first", (long)1434); assertNotNull(pair); assertEquals(pair.getFirst(), "first"); assertEquals(pair.getSecond(), new Long(1434)); } public void testAccessors() { Pair<String, Long> pair = new Pair<>("first", (long)1434); assertEquals(pair.getFirst(), "first"); assertEquals(pair.getSecond(), new Long(1434)); pair.setFirst("first2"); pair.setSecond((long)3433); assertEquals(pair.getFirst(), "first2"); assertEquals(pair.getSecond(), new Long(3433)); } public void testEquals() { Pair<String, Long> pair1 = new Pair<>("first1", (long)1434); Pair<String, Long> pair2 = new Pair<>("first1", (long)1434); Pair<String, Long> pair3 = new Pair<>("first2", (long)83488); Pair<String, Long> pair4 = new Pair<>("first1", null); Pair<String, Long> pair5 = new Pair<>("first2", null); Pair<String, Long> pair6 = new Pair<>("first2", null); Pair<String, Long> pair7 = new Pair<>(null, (long)1434); Pair<String, Long> pair8 = new Pair<>(null, (long)83488); Pair<String, Long> pair9 = new Pair<>(null, (long)83488); Pair<String, Long> pair10 = new Pair<>(null, null); Pair<String, Long> pair11 = new Pair<>(null, null); Pair<String, Integer> pair12 = new Pair<>("first1", 1434); Pair<Long, Integer> pair13 = new Pair<>((long)1434, 1434); Pair<Long, String> pair14 = new Pair<>((long)1434, "second1"); assertFalse(pair1.equals("first1")); assertFalse(pair1.equals(new Long(1434))); assertFalse(pair1.equals(null)); assertTrue(pair1.equals(pair1)); assertTrue(pair1.equals(pair2)); assertFalse(pair1.equals(pair3)); assertFalse(pair1.equals(pair4)); assertFalse(pair1.equals(pair5)); assertFalse(pair1.equals(pair6)); assertFalse(pair1.equals(pair7)); assertFalse(pair1.equals(pair8)); assertFalse(pair1.equals(pair9)); assertFalse(pair1.equals(pair10)); assertFalse(pair1.equals(pair11)); assertFalse(pair1.equals(pair12)); assertFalse(pair1.equals(pair13)); assertFalse(pair1.equals(pair14)); assertTrue(pair2.equals(pair2)); assertFalse(pair2.equals(pair3)); assertFalse(pair2.equals(pair4)); assertFalse(pair2.equals(pair5)); assertFalse(pair2.equals(pair6)); assertFalse(pair2.equals(pair7)); assertFalse(pair2.equals(pair8)); assertFalse(pair2.equals(pair9)); assertFalse(pair2.equals(pair10)); assertFalse(pair2.equals(pair11)); assertFalse(pair2.equals(pair12)); assertFalse(pair2.equals(pair13)); assertFalse(pair2.equals(pair14)); assertTrue(pair3.equals(pair3)); assertFalse(pair3.equals(pair4)); assertFalse(pair3.equals(pair5)); assertFalse(pair3.equals(pair6)); assertFalse(pair3.equals(pair7)); assertFalse(pair3.equals(pair8)); assertFalse(pair3.equals(pair9)); assertFalse(pair3.equals(pair10)); assertFalse(pair3.equals(pair11)); assertFalse(pair3.equals(pair12)); assertFalse(pair3.equals(pair13)); assertFalse(pair3.equals(pair14)); assertTrue(pair4.equals(pair4)); assertFalse(pair4.equals(pair5)); assertFalse(pair4.equals(pair6)); assertFalse(pair4.equals(pair7)); assertFalse(pair4.equals(pair8)); assertFalse(pair4.equals(pair9)); assertFalse(pair4.equals(pair10)); assertFalse(pair4.equals(pair11)); assertFalse(pair4.equals(pair12)); assertFalse(pair4.equals(pair13)); assertFalse(pair4.equals(pair14)); assertTrue(pair5.equals(pair5)); assertTrue(pair5.equals(pair6)); assertFalse(pair5.equals(pair7)); assertFalse(pair5.equals(pair8)); assertFalse(pair5.equals(pair9)); assertFalse(pair5.equals(pair10)); assertFalse(pair5.equals(pair11)); assertFalse(pair5.equals(pair12)); assertFalse(pair5.equals(pair13)); assertFalse(pair5.equals(pair14)); assertTrue(pair6.equals(pair6)); assertFalse(pair6.equals(pair7)); assertFalse(pair6.equals(pair8)); assertFalse(pair6.equals(pair9)); assertFalse(pair6.equals(pair10)); assertFalse(pair6.equals(pair11)); assertFalse(pair6.equals(pair12)); assertFalse(pair6.equals(pair13)); assertFalse(pair6.equals(pair14)); assertTrue(pair7.equals(pair7)); assertFalse(pair7.equals(pair8)); assertFalse(pair7.equals(pair9)); assertFalse(pair7.equals(pair10)); assertFalse(pair7.equals(pair11)); assertFalse(pair7.equals(pair12)); assertFalse(pair7.equals(pair13)); assertFalse(pair7.equals(pair14)); assertTrue(pair8.equals(pair8)); assertTrue(pair8.equals(pair9)); assertFalse(pair8.equals(pair10)); assertFalse(pair8.equals(pair11)); assertFalse(pair8.equals(pair12)); assertFalse(pair8.equals(pair13)); assertFalse(pair8.equals(pair14)); assertTrue(pair9.equals(pair9)); assertFalse(pair9.equals(pair10)); assertFalse(pair9.equals(pair11)); assertFalse(pair9.equals(pair12)); assertFalse(pair9.equals(pair13)); assertFalse(pair9.equals(pair14)); assertTrue(pair10.equals(pair10)); assertTrue(pair10.equals(pair11)); assertFalse(pair10.equals(pair12)); assertFalse(pair10.equals(pair13)); assertFalse(pair10.equals(pair14)); assertTrue(pair11.equals(pair11)); assertFalse(pair11.equals(pair12)); assertFalse(pair11.equals(pair13)); assertFalse(pair11.equals(pair14)); assertTrue(pair12.equals(pair12)); assertFalse(pair12.equals(pair13)); assertFalse(pair12.equals(pair14)); assertTrue(pair13.equals(pair13)); assertFalse(pair13.equals(pair14)); assertTrue(pair14.equals(pair14)); } public void testHashCode() { Pair<String, Long> pair1 = new Pair<>("first", (long)53433); Pair<String, Long> pair2 = new Pair<>("first", (long)53433); Pair<String, Long> pair3 = new Pair<>("first2", (long)83488); assertEquals(pair1.hashCode(), pair1.hashCode()); assertEquals(pair2.hashCode(), pair2.hashCode()); assertTrue(pair1.hashCode() == pair2.hashCode() || pair1.equals(pair2)); assertTrue(pair1.hashCode() != pair3.hashCode() || !pair1.equals(pair3)); assertTrue(pair2.hashCode() != pair3.hashCode() || !pair2.equals(pair3)); } }