From: Kai Moritz <kai@juplo.de>
Date: Sat, 13 Aug 2022 13:24:16 +0000 (+0200)
Subject: ROT: Erwartungen an SumBusinessLogic.getSum(String)
X-Git-Tag: sumup-adder---lvm-2-tage~32
X-Git-Url: https://juplo.de/gitweb/?a=commitdiff_plain;h=7acccf19ab0f7b11aa5fcd70867ae3ea80de2dcb;p=demos%2Fkafka%2Ftraining

ROT: Erwartungen an SumBusinessLogic.getSum(String)
---

diff --git a/src/main/java/de/juplo/kafka/AdderBusinessLogic.java b/src/main/java/de/juplo/kafka/AdderBusinessLogic.java
index a3848c46..df8c5f91 100644
--- a/src/main/java/de/juplo/kafka/AdderBusinessLogic.java
+++ b/src/main/java/de/juplo/kafka/AdderBusinessLogic.java
@@ -3,6 +3,7 @@ package de.juplo.kafka;
 
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Optional;
 
 
 public class AdderBusinessLogic
@@ -28,4 +29,9 @@ public class AdderBusinessLogic
 
     state.put(user, 0l);
   }
+
+  public synchronized Optional<Long> getSum(String user)
+  {
+    return Optional.empty();
+  }
 }
diff --git a/src/test/java/de/juplo/kafka/AdderBusinessLogicTest.java b/src/test/java/de/juplo/kafka/AdderBusinessLogicTest.java
index 17fadb10..4c0ed4bd 100644
--- a/src/test/java/de/juplo/kafka/AdderBusinessLogicTest.java
+++ b/src/test/java/de/juplo/kafka/AdderBusinessLogicTest.java
@@ -24,4 +24,21 @@ public class AdderBusinessLogicTest
     adder.startSum("foo");
     assertThatIllegalStateException().isThrownBy(() -> adder.startSum("foo"));
   }
+
+  @Test
+  @DisplayName("An empty Optional should be returned, for a non-existing sum")
+  public void testEmptyOptionalForNonExistingSum()
+  {
+    AdderBusinessLogic adder = new AdderBusinessLogic();
+    assertThat(adder.getSum("foo")).isEmpty();
+  }
+
+  @Test
+  @DisplayName("A non-empty Optional should be returned, for an existing sum")
+  public void testNonEmptyOptionalForExistingSum()
+  {
+    AdderBusinessLogic adder = new AdderBusinessLogic();
+    adder.startSum("foo");
+    assertThat(adder.getSum("foo")).isNotEmpty();
+  }
 }