I'm well aware of the contractual needs to make sure that hashCode
is consistent with equals
and that equals
is consistent with compareTo
. However, this is often violated in practice. Are there any tools, techniques, or libraries that can test for this consistency automatically?
I suspect unfortunately that the answer is "no," but it would be useful to be able to have a unit test for this sort of thing that could make use of a library call or framework rather than needing to write a custom test by hand for each case where it is important.
In case it's not clear what I mean by consistency, for hashCode
and equals
I refer to the following:
For equals
and compareTo
I refer to the following:
HashMap
and aTreeMap
and see if you can get them back ;-) – Subdiaconate