import net.pterodactylus.rhynodge.State
import net.pterodactylus.rhynodge.states.AbstractState
import net.pterodactylus.rhynodge.states.FailedState
import net.pterodactylus.rhynodge.State
import net.pterodactylus.rhynodge.states.AbstractState
import net.pterodactylus.rhynodge.states.FailedState
import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.`is`
import org.hamcrest.Matchers.sameInstance
import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.`is`
import org.hamcrest.Matchers.sameInstance
setupQueries(thirdState = successState)
assertThat(query.state(), sameInstance<State>(successState))
}
@Test
fun `fallback query calls all three queries`() {
setupQueries(thirdState = successState)
assertThat(query.state(), sameInstance<State>(successState))
}
@Test
fun `fallback query calls all three queries`() {
setupQueries(secondState = successState)
assertThat(query.state(), sameInstance<State>(successState))
}
@Test
fun `fallback query does not query third query`() {
setupQueries(secondState = successState)
assertThat(query.state(), sameInstance<State>(successState))
}
@Test
fun `fallback query does not query third query`() {
setupQueries(firstState = successState)
assertThat(query.state(), sameInstance<State>(successState))
}
@Test
fun `fallback query does not query second and third query`() {
setupQueries(firstState = successState)
assertThat(query.state(), sameInstance<State>(successState))
}
@Test
fun `fallback query does not query second and third query`() {