コード例 #1
0
            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);
            }
コード例 #2
0
            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);
            }
コード例 #3
0
            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));
            }
コード例 #4
0
        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);
        }