Skip to content
Advertisement

How to assert that some String contains at least one value from the List ?

I’m testing some UI functionality with Java and AssertJ. So when I receive some massive string from UI, I should verify if that String contains at least one predefined value from List<String>. It is easy to do opposite thing – verify if list contains at least once some String value but this is not my case. I can’t find solution in standard methods.

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

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

what I need is smth like this :

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

Advertisement

Answer

.matches(s -> OPTIONS.stream().anyMatch(option -> s.contains(option)));
Advertisement