LaFee
(Arina)
21.Ноябрь.2018 14:23:37
#1
Доброе время суток
приходит response body в формате:
"someField": [
"11.61730006425781|22.96571112143555",
"33.5123444015625|44.06633349926758"
],
body("someField", isIn(Arrays.asList("11.61730006425781|22.96571112143555")));
такого формата и прочие из org.hamcrest.Matchers не подходят, чтобы определить, что ответ верный.
можно ли как-то определить, что координаты нужного формата? или есть другие варианты убедится, что данные валидны?
scormaq
(Павел)
21.Ноябрь.2018 15:25:07
#2
Используйте AssertJ, там миллион ассертов на любой вкус:
import static java.util.Arrays.asList;
import java.util.List;
import org.assertj.core.api.Assertions;
..
String requiredPattern = "^\\d{2}\\.\\d{13,14}\\|\\d{2}\\.\\d{13,14}$";
List<String> coordinates = asList(
"11.61730006425781|22.96571112143555",
"33.5123444015625|44.06633349926758",
"123.456");
Assertions.assertThat(coordinates).allMatch(coord -> coord.matches(requiredPattern));
и читабельный вывод как бонус:
Expecting all elements of:
<["11.61730006425781|22.96571112143555",
"33.5123444015625|44.06633349926758",
"123.456"]>
to match given predicate but this element did not:
<"123.456">
2 лайка
LaFee
(Arina)
21.Ноябрь.2018 16:29:00
#3
Спасибо! Интересный подход