query: 2.0.1 - (GREEN) Adjusted implementation to corrected expectations
[demos/kafka/wordcount] / src / test / java / de / juplo / kafka / wordcount / query / TestData.java
index 3fcd7c9..f5b8a00 100644 (file)
@@ -1,8 +1,8 @@
 package de.juplo.kafka.wordcount.query;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
 import de.juplo.kafka.wordcount.top10.TestEntry;
 import de.juplo.kafka.wordcount.top10.TestRanking;
+import de.juplo.kafka.wordcount.top10.TestUser;
 import de.juplo.kafka.wordcount.users.TestUserData;
 import org.apache.kafka.streams.KeyValue;
 
@@ -15,11 +15,10 @@ import static org.assertj.core.api.Assertions.assertThat;
 
 class TestData
 {
-       static final ObjectMapper objectMapper = new ObjectMapper();
-       static final String PETER = "peter";
-       static final String KLAUS = "klaus";
+       static final TestUser PETER = TestUser.of("peter");
+       static final TestUser KLAUS = TestUser.of("klaus");
 
-       static final Stream<KeyValue<String, TestRanking>> getTop10Messages()
+       static final Stream<KeyValue<TestUser, TestRanking>> getTop10Messages()
        {
                return Stream.of(TOP10_MESSAGES);
        }
@@ -29,38 +28,21 @@ class TestData
                return Stream.of(USERS_MESSAGES);
        }
 
-       static void assertExpectedState(Function<String, String> function)
+       static void assertExpectedState(Function<String, UserRanking> function)
        {
-               assertRankingEqualsRankingFromLastMessage(PETER, function.apply(PETER));
-               assertRankingEqualsRankingFromLastMessage(KLAUS, function.apply(KLAUS));
+               assertRankingEqualsRankingFromLastMessage(PETER.getUser(), function.apply(PETER.getUser()));
+               assertRankingEqualsRankingFromLastMessage(KLAUS.getUser(), function.apply(KLAUS.getUser()));
        }
 
-       private static void assertRankingEqualsRankingFromLastMessage(String user, String userRankingJson)
+       private static void assertRankingEqualsRankingFromLastMessage(String user, UserRanking rankingJson)
        {
-               assertThat(userRankingOf(userRankingJson)).isEqualTo(getLastMessageFor(user));
-       }
-
-       private static UserRanking userRankingOf(String json)
-       {
-               if (json == null)
-               {
-                       return null;
-               }
-
-               try
-               {
-                       return objectMapper.readValue(json, UserRanking.class);
-               }
-               catch (Exception e)
-               {
-                       throw new RuntimeException(e);
-               }
+               assertThat(rankingJson).isEqualTo(getLastMessageFor(user));
        }
 
        private static UserRanking getLastMessageFor(String user)
        {
                return getTop10Messages()
-                               .filter(kv -> kv.key.equals(user))
+                               .filter(kv -> kv.key.getUser().equals(user))
                                .map(kv -> kv.value)
                                .map(testRanking -> userRankingFor(user, testRanking))
                                .reduce(null, (left, right) -> right);
@@ -88,11 +70,10 @@ class TestData
        {
                Entry entry = new Entry();
                entry.setWord(testEntry.getWord());
-               entry.setCount(testEntry.getCount());
+               entry.setCounter(testEntry.getCounter());
                return entry;
        }
-
-       private static KeyValue<String, TestRanking>[] TOP10_MESSAGES = new KeyValue[]
+       private static KeyValue<TestUser, TestRanking>[] TOP10_MESSAGES = new KeyValue[]
        {
                        KeyValue.pair( // 0
                                        PETER,
@@ -155,10 +136,10 @@ class TestData
        private static KeyValue<String, TestUserData>[] USERS_MESSAGES = new KeyValue[]
        {
                        KeyValue.pair(
-                                       PETER,
-                                       TestUserData.of(PETER, "Peter", "Pan", TestUserData.Sex.MALE)),
+                                       PETER.getUser(),
+                                       TestUserData.of(PETER.getUser(), "Peter", "Pan", TestUserData.Sex.MALE)),
                        KeyValue.pair(
-                                       KLAUS,
-                                       TestUserData.of(KLAUS, "Klaus", "Klüse", TestUserData.Sex.OTHER)),
+                                       KLAUS.getUser(),
+                                       TestUserData.of(KLAUS.getUser(), "Klaus", "Klüse", TestUserData.Sex.OTHER)),
        };
 }