aboutsummaryrefslogtreecommitdiff
path: root/src/test/model/ObservedDataTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/model/ObservedDataTest.java')
-rw-r--r--src/test/model/ObservedDataTest.java44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/test/model/ObservedDataTest.java b/src/test/model/ObservedDataTest.java
new file mode 100644
index 0000000..60ed2ed
--- /dev/null
+++ b/src/test/model/ObservedDataTest.java
@@ -0,0 +1,44 @@
+package model;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+public class ObservedDataTest {
+ private ObservedData<Integer> target;
+
+ private int callbackCount = 0;
+ private int callbackDirection = Integer.MIN_VALUE;
+ private int callbackIndex = Integer.MIN_VALUE;
+
+ private final Observer<Integer> obs = ((data, direction, index) -> {
+ callbackCount++;
+ callbackDirection = direction;
+ callbackIndex = index;
+ });
+
+ @BeforeEach
+ void setup() {
+ target = new ObservedData<>(0, obs);
+ callbackCount = 0;
+ callbackDirection = Integer.MIN_VALUE;
+ callbackIndex = Integer.MIN_VALUE;
+ }
+
+ @Test
+ void testConstructor() {
+ assertEquals(0, target.get());
+ assertNotNull(target.getAcceptor());
+ }
+
+ @Test
+ void testSet() {
+ target.set(114514);
+ assertEquals(114514, target.get());
+ assertEquals(1, callbackCount);
+ assertEquals(Observer.DIRECTION_CHANGE, callbackDirection);
+ assertEquals(Observer.INDEX_NOT_IN_LIST, callbackIndex);
+ }
+}