public void HierarchyWhenDefiningAStateAsItsOwnSuperStateThenAnExceptionIsThrown() { var testee = new StateDefinition <States, Events>(States.A); Action action = () => testee.SuperStateModifiable = testee; action .Should() .Throw <ArgumentException>() .WithMessage(ExceptionMessages.StateCannotBeItsOwnSuperState(testee.ToString())); }
public void HierarchyWhenDefiningAStateAAndAssigningAnInitialStateThatDoesntHaveStateAAsSuperStateThenAnExceptionIsThrown() { var testee = new StateDefinition <States, Events>(States.A); var initialState = A.Fake <StateDefinition <States, Events> >(); initialState.SuperStateModifiable = A.Fake <StateDefinition <States, Events> >(); Action action = () => testee.InitialStateModifiable = initialState; action .Should() .Throw <ArgumentException>() .WithMessage(StatesExceptionMessages.StateCannotBeTheInitialStateOfSuperStateBecauseItIsNotADirectSubState(initialState.ToString(), testee.ToString())); }