1 package de.juplo.kafka;
3 import org.junit.jupiter.api.DisplayName;
4 import org.junit.jupiter.api.Test;
6 import static org.assertj.core.api.Assertions.*;
9 public class SumBusinessLogicTest
12 @DisplayName("A new sum can be started, if it does not exist")
13 public void testCanStartSumIfNotExists()
15 SumBusinessLogic sumBusinessLogic = new SumBusinessLogic();
16 assertThatNoException().isThrownBy(() -> sumBusinessLogic.startSum("foo"));
20 @DisplayName("Starting an already existing sum again, causes an IllegalStateException")
21 public void testStartSumCausesExceptionIfExists()
23 SumBusinessLogic sumBusinessLogic = new SumBusinessLogic();
24 sumBusinessLogic.startSum("foo");
25 assertThatIllegalStateException().isThrownBy(() -> sumBusinessLogic.startSum("foo"));
29 @DisplayName("An empty Optional should be returned, for a non-existing sum")
30 public void testEmptyOptionalForNonExistingSum()
32 SumBusinessLogic sumBusinessLogic = new SumBusinessLogic();
33 assertThat(sumBusinessLogic.getSum("foo")).isEmpty();
37 @DisplayName("A non-empty Optional should be returned, for an existing sum")
38 public void testNonEmptyOptionalForExistingSum()
40 SumBusinessLogic sumBusinessLogic = new SumBusinessLogic();
41 sumBusinessLogic.startSum("foo");
42 assertThat(sumBusinessLogic.getSum("foo")).isNotEmpty();
46 @DisplayName("A sum can be ended, if it does exist")
47 public void testCanEndIfSumExists()
49 SumBusinessLogic sumBusinessLogic = new SumBusinessLogic();
50 sumBusinessLogic.startSum("foo");
51 assertThatNoException().isThrownBy(() -> sumBusinessLogic.endSum("foo"));
55 @DisplayName("An existing Sum returns a non-null value, if ended")
56 public void testEndSumReturnsNonNullValueIfSumExists()
58 SumBusinessLogic sumBusinessLogic = new SumBusinessLogic();
59 sumBusinessLogic.startSum("foo");
60 assertThat(sumBusinessLogic.endSum("foo")).isNotNull();
64 @DisplayName("An existing Sum returns a non-negative value, if ended")
65 public void testEndSumReturnsNonNegativeValueIfSumExists()
67 SumBusinessLogic sumBusinessLogic = new SumBusinessLogic();
68 sumBusinessLogic.startSum("foo");
69 assertThat(sumBusinessLogic.endSum("foo")).isNotNegative();
73 @DisplayName("Ending a non-existing sum, causes an IllegalStateException")
74 public void testEndSumCausesExceptionIfNotExists()
76 SumBusinessLogic sumBusinessLogic = new SumBusinessLogic();
77 assertThatIllegalStateException().isThrownBy(() -> sumBusinessLogic.endSum("foo"));