Хорошо, часто у меня будет метод, который возвращает набор какого-то рода. Проблема с модульным тестированием такого метода заключается в том, что нет гарантии, что итерация по набору всегда будет возвращать элементы в том же порядке.Каков наилучший способ проверки значений набора в единичном тесте?
Есть ли у кого-нибудь какой-либо предпочтительный метод проверки набора?
Питер
Эй, да. Я не знал, что ты можешь это сделать. Из Java 6 AbstractSet javadocs: – Risser
Сравнивает указанный объект с этим набором для равенства. Возвращает true, если данный объект также является множеством, два набора имеют одинаковый размер, и каждый член данного набора содержится в этом наборе. Это гарантирует, что метод equals корректно работает в разных реализациях интерфейса Set. Эта реализация сначала проверяет, установлен ли указанный объект; если он возвращает true. Затем он проверяет, является ли указанный объект набором, размер которого совпадает с размером этого набора; если нет, он возвращает false. Если это так, он возвращает containsAll ((Collection) o). – Risser
containsAll использует содержит и содержит использует метод .equals. Для наборов простых pojos или всего, что имеет хороший метод .equals, это довольно изящно. Благодаря! – Risser