SE251Ex:Generic Pair TestPair

From Marks Wiki
Revision as of 05:21, 3 November 2008 by Mark (talk | contribs) (2 revision(s))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Copy and paste the code below.

import junit.framework.TestCase;

public class TestPair extends TestCase {
	public void testConstruction() {
		Pair<String, Integer> pair = new Pair<String, Integer>("Hello",100);
		assertEquals("<Hello, 100>", pair.toString());
	}
	
	public void testGet() {
		Pair<Integer, String> pair = new Pair<Integer, String>(200,"Yen");
		assertEquals(new Integer(200), pair.getFirst());
		assertEquals("Yen", pair.getSecond());
	}
	
	public void testSet() {
		Pair<String, String> pair = new Pair<String, String>(null,null);
		pair.setFirst("Firstie");
		pair.setSecond("Secondie");
		assertEquals("<Firstie, Secondie>", pair.toString());
	}
	
	public void testHashCode() {
		Object o1 = new Object();
		Object o2 = new Object();
		Pair<Object, Object> pair = new Pair<Object, Object>(o1, o2);
		assertEquals(o1.hashCode() + o2.hashCode(), pair.hashCode());
	}
	
	public void testEquals() {
		Pair<String, Integer> pair1 = new Pair<String, Integer>("Yoyo", -20);
		Pair<String, Integer> pair2 = new Pair<String, Integer>("Yoyo", -20);
		assertTrue(pair1.equals(pair2));
		
		Object o1 = new Object();
		Object o2 = new Object();
		Object o3 = new Object();
		Pair<Object, Object> pair3 = new Pair<Object, Object>(o1, o2);
		Pair<Object, Object> pair4 = new Pair<Object, Object>(o1, o2);
		assertTrue(pair3.equals(pair4));

		Pair<Object, Object> pair5 = new Pair<Object, Object>(o1, o2);
		Pair<Object, Object> pair6 = new Pair<Object, Object>(o1, o3);
		assertFalse(pair5.equals(pair6));
	}
}