public void DoesCallingTriggerOnATransitionCallTheTriggerMethod() { //Arrange var transition = new TransitionOne(); _container.AddTransition <StateTwo>(TransitionActions.TriggerOne, transition); //Act _container.TriggerTransition(TransitionActions.TriggerOne); //Assert Assert.That(transition.IsTriggered, Is.True); }
public void HasTransitionReturnsTrueIfATransitionWasAddedToAnotherState() { //Arrange var transition = new TransitionOne(); _container.AddTransition <StateTwo>(TransitionActions.TriggerOne, transition); //Act var hasTransitionReturnsTrue = _container.HasTransition <StateTwo>(); //Assert Assert.That(hasTransitionReturnsTrue, Is.True); }
public void DoesGetTransitionReturnTheExpectedTransitionInTheContainer() { //Arrange var originalTransition = new TransitionOne(); _container.AddTransition <StateTwo>(TransitionActions.TriggerOne, originalTransition); //Act var returnedTransition = _container.GetTransition(TransitionActions.TriggerOne).Transition; //Assert Assert.That(returnedTransition, Is.EqualTo(originalTransition)); }
public void DoesTriggerTransitionCallTheTriggerMethodOfThePassedTrigger() { //Arrange AddStateAt(0); AddStateAt(1); var stateTransition = new TransitionOne(); StateMachine.AddTransition <StateOne, StateTwo>(TransitionActions.TriggerOne, stateTransition); StateMachine.SetInitialState <StateOne>(); StateMachine.Start(); //Act StateMachine.TriggerTransition(TransitionActions.TriggerOne); //Assert Assert.That(stateTransition.IsTriggered, Is.True); }