1 package net.pterodactylus.rhynodge.mergers
3 import net.pterodactylus.rhynodge.State
4 import net.pterodactylus.rhynodge.states.StateManagerTest.TestState
5 import org.hamcrest.MatcherAssert.assertThat
6 import org.hamcrest.Matchers.equalTo
9 class LastStateMergerTest {
12 fun `merging states returns the current state`() {
13 val mergedState = merger.mergeStates(previousState, successfulState)
14 assertThat(mergedState.time(), equalTo(successfulState.time()))
15 assertThat(mergedState.success(), equalTo(successfulState.success()))
16 assertThat(mergedState.failCount(), equalTo(successfulState.failCount()))
17 assertThat(mergedState.exception(), equalTo(successfulState.exception()))
21 fun `returned state is always triggered`() {
22 assertThat(merger.mergeStates(previousState, successfulState).triggered(), equalTo(true))
25 private val merger = LastStateMerger()
26 private val previousState = TestState(false)
27 private val successfulState: State = TestState(true)