RangeEdgePartition extends RangePartition { @Override public int hashCode() { return super.hashCode() + Long.valueOf(value).hashCode() + Integer.valueOf(lowerBound).hashCode() + Integer.valueOf(upperBound).hashCode(); } RangeEdgePartition(String label, long value, int lower, int upper); long getValue(); int getLowerBound(); int getUpperBound(); @Override RangeEdgePartition clone(); @Override int hashCode(); @Override boolean equals(Object obj); long encodeBounds();  }
@Test public void requireThatHashCodeIsImplemented() { assertEquals(new RangeEdgePartition("foo=-10", 10, 2, 3).hashCode(), new RangeEdgePartition("foo=-10", 10, 2, 3).hashCode()); }