🐛 Let last-state merged state always trigger
[rhynodge.git] / src / test / kotlin / net / pterodactylus / rhynodge / mergers / LastStateMergerTest.kt
index 6046bb3..07d2bee 100644 (file)
@@ -3,18 +3,27 @@ package net.pterodactylus.rhynodge.mergers
 import net.pterodactylus.rhynodge.State
 import net.pterodactylus.rhynodge.states.StateManagerTest.TestState
 import org.hamcrest.MatcherAssert.assertThat
-import org.hamcrest.Matchers.sameInstance
+import org.hamcrest.Matchers.equalTo
 import org.junit.Test
 
 class LastStateMergerTest {
 
        @Test
        fun `merging states returns the current state`() {
-               assertThat(merger.mergeStates(previousState, successfulState), sameInstance(successfulState))
+               val mergedState = merger.mergeStates(previousState, successfulState)
+               assertThat(mergedState.time(), equalTo(successfulState.time()))
+               assertThat(mergedState.success(), equalTo(successfulState.success()))
+               assertThat(mergedState.failCount(), equalTo(successfulState.failCount()))
+               assertThat(mergedState.exception(), equalTo(successfulState.exception()))
+       }
+
+       @Test
+       fun `returned state is always triggered`() {
+               assertThat(merger.mergeStates(previousState, successfulState).triggered(), equalTo(true))
        }
 
        private val merger = LastStateMerger()
-       private val previousState = TestState()
-       private val successfulState: State = TestState()
+       private val previousState = TestState(false)
+       private val successfulState: State = TestState(true)
 
 }