Когда вы пишете математическую функцию в целом (например, хэш-код), вы тестируете несколько примеров в своих тестах, пока не убедитесь, что функция работает должным образом. Сколько примеров зависит от вашей функции.
Для функции хеш-кода я думаю, что вы тестируете, по крайней мере, два разных объекта, которые считаются равными, имеют одинаковый хеш-код. Как
assertNotSame(obj1, obj2); // don't cheat
assertEquals(obj1.hashcode(), obj2.hashcode());
Далее вы должны проверить, что два разных значения имеют разные хеш-коды, чтобы избежать реализации hashcode()
, как return 1;
.