В Hamcrest есть StringContainsInOrder Matcher.
Как я могу утверждать, что строка содержит набор строк в любом порядке?
В Hamcrest есть StringContainsInOrder Matcher.
Как я могу утверждать, что строка содержит набор строк в любом порядке?
Вы можете комбинировать несколько contains
совпадений.
assertThat("this is a string", allOf(
contains("string"),
contains("this"),
contains("a")));
Это невозможно из-за того, как Hamcrest проверяет коллекцию.
Он перебирает его, смотрите здесь: https://code.google.com/p/hamcrest/source/browse/trunk/hamcrest-java/hamcrest-library/src/main/java/org/hamcrest/text/StringContainsInOrder.java?r=375
Вы могли:
1) проверить каждый заказ, если это короткая строка (неэффективно)
2) сортировать и тестировать несколько раз, полагая, что это покроет более 90% случаев (неадекватно)
Надеюсь, поможет.