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

Если Вы хотите, чтобы класс NServlet не знал что-нибудь о Странице, необходимо изучить использование Шаблона "адаптер". Запишите страницу, которая разместит экземпляр класса NServlet. В зависимости от того, что точно Вы делаете, Вы могли тогда записать огромное количество классов, которые только знают о базовом классе NServlet, не имея необходимость загрязнять Ваш API участниками страницы asp.net.

25
задан Oleksi 22 June 2012 в 19:28
поделиться

3 ответа

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

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

45
ответ дан 28 November 2019 в 20:45
поделиться

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

5
ответ дан 28 November 2019 в 20:45
поделиться

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

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

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

2
ответ дан 28 November 2019 в 20:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: