- assertThat(receivedMessages).hasSize(11);
- assertThat(receivedMessages).containsSubsequence(
- expectedMessages[0]); // Hallo
- assertThat(receivedMessages).containsSubsequence(
- expectedMessages[1],
- expectedMessages[3]); // Müsch
- assertThat(receivedMessages).containsSubsequence(
- expectedMessages[2],
- expectedMessages[6]);
- assertThat(receivedMessages).containsSubsequence(
- expectedMessages[4],
- expectedMessages[8],
- expectedMessages[10]); // s
- assertThat(receivedMessages).containsSubsequence(
- expectedMessages[5],
- expectedMessages[7],
- expectedMessages[9]); // Boäh
+ MultiValueMap<Word, WordCounter> expected = new LinkedMultiValueMap<>();
+ expectedMessages.forEach(keyValue -> expected.add(keyValue.key, keyValue.value));
+ await("Received expected messages")
+ .atMost(Duration.ofSeconds(5))
+ .untilAsserted(() -> expected.forEach((word, counter) ->
+ assertThat(receivedMessages.get(word)).containsExactlyElementsOf(counter)));