public void Trigger_WithUnAcceptableCommand_Exception() { // Arrange var stateData = new StateData <StateType>(StateType.State1); var target = new MyStateMachineWithCommand(); var actual = default(Exception); // Act actual = Assert.Throws <Exception>(() => target.Trigger(stateData, CommandType.Command2)); // Assert Assert.IsNotNull(actual); }
public void TranslateTo_WithAcceptableTargetState_ChangeCurrentStateToSpecifiedState() { // Arrange const StateType expected = StateType.State2; var stateData = new StateData <StateType>(StateType.State1); var target = new MyStateMachineWithCommand(); var actual = default(StateType); // Act actual = target.TranslateTo(stateData, StateType.State2).State; // Assert Assert.AreEqual(expected, actual); }
public void Trigger_WithAcceptableCommand_StateChangedEventInvoked() { // Arrange var stateData = new StateData <StateType>(StateType.State1); var target = new MyStateMachineWithCommand(); var actual = default(bool); target.StateChanged += (sender, args) => { actual = true; }; // Act target.Trigger(stateData, CommandType.Command1); // Assert Assert.IsTrue(actual); }
public void TranslateTo_WithAcceptableTargetState_StateChangingEventInvoked() { // Arrange var stateData = new StateData <StateType>(StateType.State1); var target = new MyStateMachineWithCommand(); var actual = default(bool); target.StateChanging += (sender, args) => { actual = true; }; // Act target.TranslateTo(stateData, StateType.State2); // Assert Assert.IsTrue(actual); }