public void ThrowsExceptionOnLoading_WhenSettingALastActiveStateThatIsNotASubState()
{
this.testee.DefineHierarchyOn(StateMachine.States.B)
.WithHistoryType(HistoryType.Deep)
.WithInitialSubState(StateMachine.States.B1)
.WithSubState(StateMachine.States.B2);
var loader = A.Fake<IStateMachineLoader<StateMachine.States>>();
A.CallTo(() => loader.LoadHistoryStates())
.Returns(new Dictionary<StateMachine.States, StateMachine.States>()
{
{ StateMachine.States.B, StateMachine.States.A }
});
Action action = () => this.testee.Load(loader);
action.ShouldThrow<InvalidOperationException>()
.WithMessage(ExceptionMessages.CannotSetALastActiveStateThatIsNotASubState);
}