Подтвердить что ты не робот

Легкий способ сравнить ArrayLists для равенства с помощью JUnit?

Что такое простой способ сравнить ArrayLists для равенства с помощью JUnit? Нужно ли реализовать интерфейс равенства? Или есть простой метод JUnit, который упрощает его?

4b9b3361

Ответ 1

Вам не нужно ничего особенного для равноправия списка, просто используйте assertEquals.

ArrayList и другие списки реализуют equals(), проверяя, что все объекты в соответствующих позициях списков равны, используя метод equals() объектов. Таким образом, вы можете проверить, правильно ли реализованы объекты в реализации списка.

Ответ 2

Возможно, вы захотите проверить документацию на List.equals.

Ответ 3

Я думаю, что это может быть немного слишком простой ответ (хотя это правильно). Тестирование ArrayLists для равных означает, что вы дали мысль о равенстве элементов. Если элементы - это целые числа, все в порядке. Но если они являются экземплярами ваших собственных классов домена, тогда вам следует знать об ошибках, связанных с равенством (и клонированием). Пожалуйста, проверьте:

http://www.artima.com/lejava/articles/equality.html

за хороший набор советов о реализации равенства. В стороне: если вам когда-либо нужно клонировать объекты, рассмотрите использование конструкторов копий вместо реализации клонируемых. Cloneable представляет целый набор проблем, которые вы, возможно, не ожидаете.