ff9fdd08e2b0302e47735d623f6897ef095520f2
[demos/kafka/training] / src / test / java / de / juplo / kafka / SumBusinessLogicTest.java
1 package de.juplo.kafka;
2
3 import org.junit.jupiter.api.DisplayName;
4 import org.junit.jupiter.api.Test;
5
6 import static org.assertj.core.api.Assertions.*;
7
8
9 public class SumBusinessLogicTest
10 {
11   @Test
12   @DisplayName("A new sum can be started, if it does not exist")
13   public void testCanStartSumIfNotExists()
14   {
15     SumBusinessLogic sumBusinessLogic = new SumBusinessLogic();
16     assertThatNoException().isThrownBy(() -> sumBusinessLogic.startSum("foo"));
17   }
18
19   @Test
20   @DisplayName("Starting an already existing sum again, causes an IllegalStateException")
21   public void testStartSumCausesExceptionIfExists()
22   {
23     SumBusinessLogic sumBusinessLogic = new SumBusinessLogic();
24     sumBusinessLogic.startSum("foo");
25     assertThatIllegalStateException().isThrownBy(() -> sumBusinessLogic.startSum("foo"));
26   }
27
28   @Test
29   @DisplayName("An empty Optional should be returned, for a non-existing sum")
30   public void testEmptyOptionalForNonExistingSum()
31   {
32     SumBusinessLogic sumBusinessLogic = new SumBusinessLogic();
33     assertThat(sumBusinessLogic.getSum("foo")).isEmpty();
34   }
35
36   @Test
37   @DisplayName("A non-empty Optional should be returned, for an existing sum")
38   public void testNonEmptyOptionalForExistingSum()
39   {
40     SumBusinessLogic sumBusinessLogic = new SumBusinessLogic();
41     sumBusinessLogic.startSum("foo");
42     assertThat(sumBusinessLogic.getSum("foo")).isNotEmpty();
43   }
44 }