public void HasTranslation_WithUnAcceptableTargetState_ReturnFalse()
        {
            // Arrange
            var target = new MyStateMachineWithoutCommand();
            var actual = default(bool);

            // Act
            actual = target.HasTranslation(StateType.State1, StateType.State3);

            // Assert
            Assert.IsFalse(actual);
        }
        public void TranslateTo_WithAcceptableTargetState_StateChangedEventInvoked()
        {
            // Arrange
            var stateData = new StateData <StateType>(StateType.State1);
            var target    = new MyStateMachineWithoutCommand();
            var actual    = default(bool);

            target.StateChanged += (sender, args) => { actual = true; };

            // Act
            target.TranslateTo(stateData, StateType.State2);

            // Assert
            Assert.IsTrue(actual);
        }