### Question:
QualityKey { @Override public int hashCode() { return HashCodeBuilder.reflectionHashCode(this); } QualityKey(Type type, Name name); static QualityKey ForTypeAndName(String type, String name); @Override boolean equals(Object o); @Override int hashCode(); void withTypeDo(TypeClosure closure); void withNameDo(NameClosure closure); @Override String toString();  }### Answer:
@Test public void hasSameHashCodeAsKeyWithSameNameAndType() throws Exception { QualityKey secondKey = new QualityKey(new Type("type"), new Name("name")); assertThat(firstKey.hashCode(), is(secondKey.hashCode())); }