При разработке приложений Java я часто переопределяю методы Object (обычно равные и hashCode). Я хотел бы каким-то образом систематически проверить, что я придерживаюсь контракта для методов Object для каждого из моих классов. Например, я хочу, чтобы тесты утверждали, что для равных объектов хэш-код также равен. Я использую тестовую среду JUnit, поэтому желательно, чтобы мне было какое-то решение JUnit, где я могу автоматически генерировать эти тесты, или какой-либо тестовый пример, который может каким-то образом посетить все мои классы и убедиться, что контракт поддерживается.
Я использую JDK6 и JUnit 4.4.