assertEquals("Metadata with two values.", ISBN.hashCode() + title.hashCode(), hashCode);
assertTrue(set.add(title));
assertEquals("Expected Metadata.hashCode() == Set.hashCode().", set.hashCode(), hashCode);
assertEquals("CitationsImpl.hashCode() should delegate.", hashCode, citation.hashCode());
final Collection<Object> values = citation.asMap().values();
assertEquals(hashCode, new HashSet<Object>(values).hashCode());
assertTrue(values.containsAll(set));
assertTrue(set.containsAll(values));
}
}