diff options
Diffstat (limited to 'src/test/model/ObservedDataTest.java')
-rw-r--r-- | src/test/model/ObservedDataTest.java | 44 |
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); + } +} |