WIP
[demos/kafka/wordcount] / src / test / java / de / juplo / kafka / wordcount / top10 / TestData.java
index f521869..a284a5d 100644 (file)
@@ -15,100 +15,119 @@ import static org.assertj.core.api.Assertions.assertThat;
 
 class TestData
 {
-       static void writeInputData(BiConsumer<Word, Counter> consumer)
+       static void writeInputData(BiConsumer<Key, Counter> consumer)
        {
                consumer.accept(
-                               Word.of("peter","Hallo"),
+                               Key.of("peter","Hallo"),
                                Counter.of("peter","Hallo",1));
                consumer.accept(
-                               Word.of("klaus","Müsch"),
+                               Key.of("klaus","Müsch"),
                                Counter.of("klaus","Müsch",1));
                consumer.accept(
-                               Word.of("peter","Welt"),
+                               Key.of("peter","Welt"),
                                Counter.of("peter","Welt",1));
                consumer.accept(
-                               Word.of("klaus","Müsch"),
+                               Key.of("klaus","Müsch"),
                                Counter.of("klaus","Müsch",2));
                consumer.accept(
-                               Word.of("klaus","s"),
+                               Key.of("klaus","s"),
                                Counter.of("klaus","s",1));
                consumer.accept(
-                               Word.of("peter","Boäh"),
+                               Key.of("peter","Boäh"),
                                Counter.of("peter","Boäh",1));
                consumer.accept(
-                               Word.of("peter","Welt"),
+                               Key.of("peter","Welt"),
                                Counter.of("peter","Welt",2));
                consumer.accept(
-                               Word.of("peter","Boäh"),
+                               Key.of("peter","Boäh"),
                                Counter.of("peter","Boäh",2));
                consumer.accept(
-                               Word.of("klaus","s"),
+                               Key.of("klaus","s"),
                                Counter.of("klaus","s",2));
                consumer.accept(
-                               Word.of("peter","Boäh"),
+                               Key.of("peter","Boäh"),
                                Counter.of("peter","Boäh",3));
                consumer.accept(
-                               Word.of("klaus","s"),
+                               Key.of("klaus","s"),
                                Counter.of("klaus","s",3));
        }
 
-       static void assertExpectedResult(List<KeyValue<Word, Counter>> receivedMessages)
+       static void assertExpectedResult(List<KeyValue<String, Ranking>> receivedMessages)
        {
                assertThat(receivedMessages).hasSize(11);
                assertThat(receivedMessages).containsSubsequence(
-                               expectedMessages[0]); // Hallo
-               assertThat(receivedMessages).containsSubsequence(
-                               expectedMessages[1],
-                               expectedMessages[3]); // Müsch
-               assertThat(receivedMessages).containsSubsequence(
+                               expectedMessages[0],
                                expectedMessages[2],
-                               expectedMessages[6]);
+                               expectedMessages[5],
+                               expectedMessages[6],
+                               expectedMessages[7]); // peter
                assertThat(receivedMessages).containsSubsequence(
+                               expectedMessages[1],
+                               expectedMessages[3],
                                expectedMessages[4],
                                expectedMessages[8],
-                               expectedMessages[10]); // s
-               assertThat(receivedMessages).containsSubsequence(
-                               expectedMessages[5],
-                               expectedMessages[7],
-                               expectedMessages[9]); // Boäh
+                               expectedMessages[10]); // klaus
        }
 
-       static KeyValue<Word, Counter>[] expectedMessages = new KeyValue[]
-                       {
-                                       KeyValue.pair(
-                                                       Word.of("peter","Hallo"),
-                                                       Counter.of("peter","Hallo",1)),
-                                       KeyValue.pair(
-                                                       Word.of("klaus","Müsch"),
-                                                       Counter.of("klaus","Müsch",1)),
-                                       KeyValue.pair(
-                                                       Word.of("peter","Welt"),
-                                                       Counter.of("peter","Welt",1)),
-                                       KeyValue.pair(
-                                                       Word.of("klaus","Müsch"),
-                                                       Counter.of("klaus","Müsch",2)),
-                                       KeyValue.pair(
-                                                       Word.of("klaus","s"),
-                                                       Counter.of("klaus","s",1)),
-                                       KeyValue.pair(
-                                                       Word.of("peter","Boäh"),
-                                                       Counter.of("peter","Boäh",1)),
-                                       KeyValue.pair(
-                                                       Word.of("peter","Welt"),
-                                                       Counter.of("peter","Welt",2)),
-                                       KeyValue.pair(
-                                                       Word.of("peter","Boäh"),
-                                                       Counter.of("peter","Boäh",2)),
-                                       KeyValue.pair(
-                                                       Word.of("klaus","s"),
-                                                       Counter.of("klaus","s",2)),
-                                       KeyValue.pair(
-                                                       Word.of("peter","Boäh"),
-                                                       Counter.of("peter","Boäh",3)),
-                                       KeyValue.pair(
-                                                       Word.of("klaus","s"),
-                                                       Counter.of("klaus","s",3)),
-                       };
+       static KeyValue<String, Ranking>[] expectedMessages = new KeyValue[]
+       {
+                       KeyValue.pair( // 0
+                                       "peter",
+                                       Ranking.of(
+                                                       Entry.of("Hallo", 1l))),
+                       KeyValue.pair( // 1
+                                       "klaus",
+                                       Ranking.of(
+                                                       Entry.of("Müsch", 1l))),
+                       KeyValue.pair( // 2
+                                       "peter",
+                                       Ranking.of(
+                                                       Entry.of("Welt", 1l),
+                                                       Entry.of("Hallo", 1l))),
+                       KeyValue.pair( // 3
+                                       "klaus",
+                                       Ranking.of(
+                                                       Entry.of("Müsch", 2l))),
+                       KeyValue.pair( // 4
+                                       "klaus",
+                                       Ranking.of(
+                                                       Entry.of("Müsch", 2l),
+                                                       Entry.of("s", 1l))),
+                       KeyValue.pair( // 5
+                                       "peter",
+                                       Ranking.of(
+                                                       Entry.of("Boäh", 1l),
+                                                       Entry.of("Hallo", 1l),
+                                                       Entry.of("Welt", 1l))),
+                       KeyValue.pair( // 6
+                                       "peter",
+                                       Ranking.of(
+                                                       Entry.of("Welt", 2l),
+                                                       Entry.of("Boäh", 1l),
+                                                       Entry.of("Hallo", 1l))),
+                       KeyValue.pair( // 7
+                                       "peter",
+                                       Ranking.of(
+                                                       Entry.of("Welt", 2l),
+                                                       Entry.of("Boäh", 2l),
+                                                       Entry.of("Hallo", 1l))),
+                       KeyValue.pair( // 8
+                                       "klaus",
+                                       Ranking.of(
+                                                       Entry.of("s", 2l),
+                                                       Entry.of("Müsch", 2l))),
+                       KeyValue.pair( // 9
+                                       "peter",
+                                       Ranking.of(
+                                                       Entry.of("Boäh", 3l),
+                                                       Entry.of("Welt", 2l),
+                                                       Entry.of("Hallo", 1l))),
+                       KeyValue.pair( // 10
+                                       "klaus",
+                                       Ranking.of(
+                                                       Entry.of("s", 3l),
+                                                       Entry.of("Müsch", 2l))),
+       };
 
        static Map<String, Object> convertToMap(Properties properties)
        {