Есть задача проверить отсторитрованы ли цены на странице по возрастанию.
Не нашел какой Assert использовать для сравнения двух массивов (актуальные цены со страницы, ожидаемые цены при сортировке по возрастанию). Пока что сделал Assert в цикле и сверяю значения массивов с одинаковым индексом:
// collect prices on active tab
actualPrices = searchResultPage.getPricesFromSearchResult();
// sort prices and compare sorted prices with price order on the page
sortedPrices = Utils.sortPrices(actualPrices);
int i = 0;
for (double price : sortedPrices) {
Assert.assertEquals(actualPrices[i], price, “Price is not sorted!”);
i = i + 1;
}
но такое решение кажется мне не самым красивым и удобным. Может кто знает какие-то ассерты, которые позволяют проверять идентичность массивов сразу?
что-то не могу найти в TestNG такой assert Подсказка в Eclipse не дает такого вариант, в документации к TestNG тоже не находится Assert (testng 6.14-SNAPSHOT API)
да, такой вариант мне кажется наиболее элегантным и не требует подключения дополнительных библиотек Assert.assertTrue(Arrays.equals(actualPrices, sortedPrices), "Prices are not sorted!");
А почему бы просто не сравнить через assertEquals? У меня следующий код отрабатывает на ура. Попробуй.
List expectedTexts = new ArrayList<>();
…
List actualTexts = page.getTexts();
assertEquals(actualTexts, expectedTexts);