--- /dev/null
+package de.juplo.kafka.wordcount.top10;
+
+import java.util.List;
+import java.util.function.BiConsumer;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+
+class TestData
+{
+ static void writeInputData(BiConsumer<String, String> consumer)
+ {
+ consumer.accept(
+ "peter",
+ "{\"user\":\"peter\",\"word\":\"Hallo\"}");
+ consumer.accept(
+ "klaus",
+ "{\"user\":\"klaus\",\"word\":\"Müsch\"}");
+ consumer.accept(
+ "peter",
+ "{\"user\":\"peter\",\"word\":\"Welt\"}");
+ consumer.accept(
+ "klaus",
+ "{\"user\":\"klaus\",\"word\":\"Müsch\"}");
+ consumer.accept(
+ "klaus",
+ "{\"user\":\"klaus\",\"word\":\"s\"}");
+ consumer.accept(
+ "peter",
+ "{\"user\":\"peter\",\"word\":\"Boäh\"}");
+ consumer.accept(
+ "peter",
+ "{\"user\":\"peter\",\"word\":\"Welt\"}");
+ consumer.accept(
+ "peter",
+ "{\"user\":\"peter\",\"word\":\"Boäh\"}");
+ consumer.accept(
+ "klaus",
+ "{\"user\":\"klaus\",\"word\":\"s\"}");
+ consumer.accept(
+ "peter",
+ "{\"user\":\"peter\",\"word\":\"Boäh\"}");
+ consumer.accept(
+ "klaus",
+ "{\"user\":\"klaus\",\"word\":\"s\"}");
+ }
+
+ static void assertExpectedResult(List<Message> 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
+ }
+
+ static Message[] expectedMessages =
+ {
+ Message.of(
+ "{\"user\":\"peter\",\"word\":\"Hallo\"}",
+ "{\"user\":\"peter\",\"word\":\"Hallo\",\"count\":1}"),
+ Message.of(
+ "{\"user\":\"klaus\",\"word\":\"Müsch\"}",
+ "{\"user\":\"klaus\",\"word\":\"Müsch\",\"count\":1}"),
+ Message.of(
+ "{\"user\":\"peter\",\"word\":\"Welt\"}",
+ "{\"user\":\"peter\",\"word\":\"Welt\",\"count\":1}"),
+ Message.of(
+ "{\"user\":\"klaus\",\"word\":\"Müsch\"}",
+ "{\"user\":\"klaus\",\"word\":\"Müsch\",\"count\":2}"),
+ Message.of(
+ "{\"user\":\"klaus\",\"word\":\"s\"}",
+ "{\"user\":\"klaus\",\"word\":\"s\",\"count\":1}"),
+ Message.of(
+ "{\"user\":\"peter\",\"word\":\"Boäh\"}",
+ "{\"user\":\"peter\",\"word\":\"Boäh\",\"count\":1}"),
+ Message.of(
+ "{\"user\":\"peter\",\"word\":\"Welt\"}",
+ "{\"user\":\"peter\",\"word\":\"Welt\",\"count\":2}"),
+ Message.of(
+ "{\"user\":\"peter\",\"word\":\"Boäh\"}",
+ "{\"user\":\"peter\",\"word\":\"Boäh\",\"count\":2}"),
+ Message.of(
+ "{\"user\":\"klaus\",\"word\":\"s\"}",
+ "{\"user\":\"klaus\",\"word\":\"s\",\"count\":2}"),
+ Message.of(
+ "{\"user\":\"peter\",\"word\":\"Boäh\"}",
+ "{\"user\":\"peter\",\"word\":\"Boäh\",\"count\":3}"),
+ Message.of(
+ "{\"user\":\"klaus\",\"word\":\"s\"}",
+ "{\"user\":\"klaus\",\"word\":\"s\",\"count\":3}"),
+ };
+}