public void ShouldSetCurrentToStartStateWhenCreated() { var state = new StartState(); var manager = new StateManager<IGameLogicState>(state); Assert.AreSame(state, manager.Current); }
public void ShouldFailWhenTryingToAddTheSameStateTwice() { var state = new StartState(); var manager = new StateManager<IGameLogicState>(null); manager.AddState(state); manager.AddState(state); }
public void ShouldSupportStatesBeingRemoved() { var state1 = new StartState(); var state2 = new MenuState(); var manager = new StateManager<IGameLogicState>(null); manager.AddState(state1); manager.AddState(state2); Assert.AreEqual(2, manager.StateCount); manager.RemoveState(state1); Assert.AreEqual(1, manager.StateCount); }