### Question:
NumericDecision extends Decision { @Override public int hashCode() { return getFeatureNumber() ^ Double.hashCode(threshold); } NumericDecision(int featureNumber, double threshold, boolean defaultDecision); double getThreshold(); @Override boolean getDefaultDecision(); @Override boolean isPositive(Example example); @Override FeatureType getType(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void testEqualsHashCode() { NumericDecision a = new NumericDecision(0, 0.5, true); NumericDecision b = new NumericDecision(0, 0.5, true); NumericDecision c = new NumericDecision(1, 0.5, true); assertEquals(a, b); assertNotEquals(a, c); assertEquals(a.hashCode(), b.hashCode()); assertNotEquals(a.hashCode(), c.hashCode()); }