Как утверждать, что какая-то строка содержит хотя бы одно значение из списка <String>? - PullRequest
2 голосов
/ 06 апреля 2019

Я тестирую некоторые функциональные возможности пользовательского интерфейса с Java и AssertJ.Поэтому, когда я получаю массивную строку из пользовательского интерфейса, я должен проверить, содержит ли эта строка хотя бы одно предопределенное значение из List<String>.Легко сделать противоположную вещь - проверьте, содержит ли список хотя бы один раз какое-либо значение String, но это не мой случай.Я не могу найти решение в стандартных методах.

public static final List<String> OPTIONS = Arrays.asList("Foo", "Bar", "Baz");

String text = "Just some random text with bar";

Мне нужно вот что:

Assertions.assertThat(text)
                .as("Should contain at least one value from OPTIONS ")
                .containsAnyOf(OPTIONS)

1 Ответ

3 голосов
/ 06 апреля 2019
.matches(s -> OPTIONS.stream().anyMatch(option -> s.contains(option)));
...