counter: 1.1.7 - Fixed a bug in the assertion-logic for the expected state
[demos/kafka/wordcount] / src / test / java / de / juplo / kafka / wordcount / counter / TestData.java
1 package de.juplo.kafka.wordcount.counter;
2
3 import java.util.List;
4 import java.util.function.BiConsumer;
5
6 import static org.assertj.core.api.Assertions.assertThat;
7
8
9 class TestData
10 {
11         static void writeInputData(BiConsumer<String, String> consumer)
12         {
13                 consumer.accept(
14                                 "peter",
15                                 "Hallo");
16                 consumer.accept(
17                                 "klaus",
18                                 "Müsch");
19                 consumer.accept(
20                                 "peter",
21                                 "Welt");
22                 consumer.accept(
23                                 "klaus",
24                                 "Müsch");
25                 consumer.accept(
26                                 "klaus",
27                                 "s");
28                 consumer.accept(
29                                 "peter",
30                                 "Boäh");
31                 consumer.accept(
32                                 "peter",
33                                 "Welt");
34                 consumer.accept(
35                                 "peter",
36                                 "Boäh");
37                 consumer.accept(
38                                 "klaus",
39                                 "s");
40                 consumer.accept(
41                                 "peter",
42                                 "Boäh");
43                 consumer.accept(
44                                 "klaus",
45                                 "s");
46         }
47
48         static void assertExpectedResult(List<Message> receivedMessages)
49         {
50                 assertThat(receivedMessages).hasSize(11);
51                 assertThat(receivedMessages).containsSubsequence(
52                                 expectedMessages[0]); // Hallo
53                 assertThat(receivedMessages).containsSubsequence(
54                                 expectedMessages[1],
55                                 expectedMessages[3]); // Müsch
56                 assertThat(receivedMessages).containsSubsequence(
57                                 expectedMessages[2],
58                                 expectedMessages[6]);
59                 assertThat(receivedMessages).containsSubsequence(
60                                 expectedMessages[4],
61                                 expectedMessages[8],
62                                 expectedMessages[10]); // s
63                 assertThat(receivedMessages).containsSubsequence(
64                                 expectedMessages[5],
65                                 expectedMessages[7],
66                                 expectedMessages[9]); // Boäh
67         }
68
69         static Message[] expectedMessages =
70         {
71                         Message.of(
72                                         "{\"username\":\"peter\",\"word\":\"Hallo\"}",
73                                         "1"),
74                         Message.of(
75                                         "{\"username\":\"klaus\",\"word\":\"Müsch\"}",
76                                         "1"),
77                         Message.of(
78                                         "{\"username\":\"peter\",\"word\":\"Welt\"}",
79                                         "1"),
80                         Message.of(
81                                         "{\"username\":\"klaus\",\"word\":\"Müsch\"}",
82                                         "2"),
83                         Message.of(
84                                         "{\"username\":\"klaus\",\"word\":\"s\"}",
85                                         "1"),
86                         Message.of(
87                                         "{\"username\":\"peter\",\"word\":\"Boäh\"}",
88                                         "1"),
89                         Message.of(
90                                         "{\"username\":\"peter\",\"word\":\"Welt\"}",
91                                         "2"),
92                         Message.of(
93                                         "{\"username\":\"peter\",\"word\":\"Boäh\"}",
94                                         "2"),
95                         Message.of(
96                                         "{\"username\":\"klaus\",\"word\":\"s\"}",
97                                         "2"),
98                         Message.of(
99                                         "{\"username\":\"peter\",\"word\":\"Boäh\"}",
100                                         "3"),
101                         Message.of(
102                                         "{\"username\":\"klaus\",\"word\":\"s\"}",
103                                         "3"),
104         };
105 }