assertEquals("hashCode failed for same object", abc.hashCode(), abc.hashCode()); assertEquals("hashCode failed for same ids in same order", abc.hashCode(), abc2.hashCode()); assertEquals("hashCode succeeds for same ids in different order", abc.hashCode(), cba.hashCode()); assertEquals("hashCode succeeds for same ids in different cardinality", aab.hashCode(), abb.hashCode()); assertEquals("hashCode succeeds for same ids but different sizes", aab.hashCode(), ab.hashCode()); assertTrue("hashCode failed for one empty list", abc.hashCode() != empty.hashCode()); assertEquals("hashCode failed two one empty lists", empty2.hashCode(), empty.hashCode());