class NHLSetupState { public abstract void processMessage( final NHLSetupContext nhlSetupContext, final NHLSetupMessage nhlSetupMessage); } /* Represents the Splash screen state.*/ public class NHLSetupStateSplash extends NHLSetupState { @Override public void processMessage(NHLSetupContext nhlSetupContext, NHLSetupMessage nhlSetupMessage) { /* Do work… Determine Next State*/ /* Set Next State*/ nhlSetupContext.setState(new NHLSetupStateABC()); } }
public void setUp() throws Exception { /*Register Callback for State Machine*/ } @Test public void testSplashToABC() { //Setup State To Test .. //Perform Test nhlSetupContext.processMessage(/*Some Value*/); assertEquals(SetupState.ABC, currentState); } @Override public void transitionToState(SetupState setupState) { currentState = setupState; }