### Question:
ProducibleConfig { @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + steps; result = prime * result + width; result = prime * result + height; return result; } ProducibleConfig(int steps, int width, int height); static ProducibleConfig imports(Configurer configurer); static ProducibleConfig imports(Xml root); static Xml exports(ProducibleConfig config); int getWidth(); int getHeight(); int getSteps(); @Override int hashCode(); @Override boolean equals(Object object); @Override String toString(); static final String NODE_PRODUCIBLE; static final String ATT_STEPS; }### Answer:
@Test void testHashCode() { final ProducibleConfig hash = new ProducibleConfig(1, 2, 3); assertHashEquals(hash, new ProducibleConfig(1, 2, 3)); assertHashNotEquals(hash, new ProducibleConfig(0, 2, 3)); assertHashNotEquals(hash, new ProducibleConfig(1, 0, 3)); assertHashNotEquals(hash, new ProducibleConfig(1, 2, 0)); }