### Question:
BasicWeapon implements Weapon, DisplayableWeapon { @Override public int hashCode() { return label.hashCode(); } BasicWeapon(String label);  BasicWeapon(String label, String symbol); String getLabel(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString(); @Override String getSymbol();  }### Answer:
@Test public void shouldHaveSameHashcodeWithMatchedLabel() { Weapon weapon1 = new BasicWeapon("weapon", "W1"); Weapon weapon2 = new BasicWeapon("weapon", "W2"); assertEquals(weapon1.hashCode(), weapon2.hashCode()); }