### Question:
GroupTransition { @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + groupIn.hashCode(); result = prime * result + groupOut.hashCode(); return result; } GroupTransition(String groupIn, String groupOut); String getIn(); String getOut(); @Override int hashCode(); @Override boolean equals(Object object); @Override String toString();  }### Answer:
@Test void testHashCode() { assertHashEquals(new GroupTransition("a", "a"), new GroupTransition("a", "a")); assertHashEquals(new GroupTransition("a", "b"), new GroupTransition("a", "b")); assertHashNotEquals(new GroupTransition("a", "a"), new Object()); assertHashNotEquals(new GroupTransition("a", "b"), new GroupTransition("b", "a")); assertHashNotEquals(new GroupTransition("a", "b"), new GroupTransition("a", "a")); assertHashNotEquals(new GroupTransition("a", "b"), new GroupTransition("b", "b")); assertHashNotEquals(new GroupTransition("a", "a"), new GroupTransition("b", "a")); assertHashNotEquals(new GroupTransition("a", "a"), new GroupTransition("b", "b")); }