1 package net.pterodactylus.rhynodge.triggers
3 import net.pterodactylus.rhynodge.State
4 import net.pterodactylus.rhynodge.states.FailedState
5 import net.pterodactylus.rhynodge.states.StateManagerTest.TestState
6 import org.hamcrest.MatcherAssert.assertThat
7 import org.hamcrest.Matchers.equalTo
8 import org.hamcrest.Matchers.sameInstance
11 class AlwaysTriggerTest {
14 fun `merging states returns the current state`() {
15 assertThat(trigger.mergeStates(previousState, successfulState), sameInstance(successfulState))
19 fun `successful state triggers`() {
20 trigger.mergeStates(previousState, successfulState)
21 assertThat(trigger.triggers(), equalTo(true))
25 fun `failed state also triggers`() {
26 trigger.mergeStates(previousState, failedState)
27 assertThat(trigger.triggers(), equalTo(true))
30 private val trigger = AlwaysTrigger()
31 private val previousState = TestState()
32 private val successfulState: State = TestState()
33 private val failedState: State = FailedState()