package ngenes2.util;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
import static org.mockito.Mockito.*;
public class PairTest {
private Pair<Integer,String> p;
@Before
public void setup() {
p = Pair.make(2, "blah");
}
@Test
public void testGetters() {
assertEquals( new Integer(2), p.first() );
assertEquals( "blah", p.second());
}
@Test
public void testEquals() {
Pair<Integer,String> p2 = Pair.make(2, "blah");
Pair<Integer,String> p3 = Pair.make(3, "blah");
assertTrue(p.equals(p));
assertTrue(p.equals(p2));
assertTrue(p2.equals(p));
assertFalse(p.equals(p3));
assertFalse(p2.equals(p3));
assertFalse( p.equals( new Object()) );
}
@Test
public void testHashCode() {
Pair<Integer,String> p2 = Pair.make(2, "blah");
assertEquals(p.hashCode(), p2.hashCode());
}
@Test
public void testToList() {
List<?> lst = p.toList();
assertEquals(2, lst.size());
assertEquals(new Integer(2), lst.get(0));
assertEquals("blah", lst.get(1));
}
@Test(expected=NullPointerException.class)
public void testNullFirst() {
Pair<?,?> p = Pair.make(null, new Object());
}
@Test(expected=NullPointerException.class)
public void testNullSecond() {
Pair<?,?> p = Pair.make(new Object(), null);
}
}