@Test public void from_off_through_idle_back_to_off() { StateMachine atm = new ATMStateMachine(); atm.execute(new TurnedOn()); atm.execute(new TestedOk()); atm.execute(new TurnedOff()); assertThat(atm.getActiveStateName()).isEqualTo(OFF); }
@Test public void from_idle_to_idle_with_transaction() { StateMachine atm = new ATMStateMachine(); atm.activeStateConfiguration(asList(IDLE)); atm.execute(new CardInserted()); atm.execute(new Authenticated()); atm.execute(new TransactionSelected()); assertThat(atm.getActiveStateName()).isEqualTo(IDLE); }
@Test public void simple_state_transfers() { // Given StateMachine atm = new ATMStateMachine(); // When atm.execute(new TurnedOn()); // Then assertThat(atm.getActiveStateName()).isEqualTo(SELF_TEST); }