X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fwordcount%2Fcounter%2FTestData.java;fp=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fwordcount%2Fcounter%2FTestData.java;h=1687a33a79cbcc973b80c4c2adafcba3c2c234a4;hb=34105430df56c86f6d18329feb5dedd45fe42e15;hp=19443ac4ab192b90b0c4232bc4da9c94bcef79f5;hpb=a5146f975d5383dd2ec046478f20937d821dfa51;p=demos%2Fkafka%2Fwordcount diff --git a/src/test/java/de/juplo/kafka/wordcount/counter/TestData.java b/src/test/java/de/juplo/kafka/wordcount/counter/TestData.java index 19443ac..1687a33 100644 --- a/src/test/java/de/juplo/kafka/wordcount/counter/TestData.java +++ b/src/test/java/de/juplo/kafka/wordcount/counter/TestData.java @@ -3,12 +3,14 @@ package de.juplo.kafka.wordcount.counter; import org.apache.kafka.common.header.Header; import org.apache.kafka.common.header.Headers; import org.apache.kafka.streams.KeyValue; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; -import java.util.List; import java.util.Map; import java.util.Properties; import java.util.function.BiConsumer; import java.util.stream.Collectors; +import java.util.stream.Stream; import static org.assertj.core.api.Assertions.assertThat; @@ -52,28 +54,15 @@ class TestData Word.of("klaus","s")); } - static void assertExpectedResult(List> receivedMessages) + static void assertExpectedResult(MultiValueMap receivedMessages) { - 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 + expectedMessages.forEach( + (word, counter) -> + assertThat(receivedMessages.get(word)) + .containsExactlyElementsOf(counter)); } - static KeyValue[] expectedMessages = new KeyValue[] + static KeyValue[] expectedMessagesArray = new KeyValue[] { KeyValue.pair( Word.of("peter","Hallo"), @@ -110,6 +99,15 @@ class TestData WordCounter.of("klaus","s",3)), }; + static MultiValueMap expectedMessages; + static + { + expectedMessages = new LinkedMultiValueMap<>(); + Stream + .of(expectedMessagesArray) + .forEach(keyValue -> expectedMessages.add(keyValue.key, keyValue.value)); + } + static Map convertToMap(Properties properties) { return properties